Package net.sf.colossus.game
Class BattleUnit
- java.lang.Object
-
- net.sf.colossus.game.BattleUnit
-
- All Implemented Interfaces:
BattleCritter
public final class BattleUnit extends java.lang.Object implements BattleCritter
Class BattleUnit represents a Creature in a specific Battle. GUI aspects moved to new Class GUIBattleChit. TODO This should at some point extend Creature, or perhaps Creature can take care of all so no extend is needed; but right now, Creature handles some things (e.g. how to change the hexes) differently than how it's done here, so can not "just delegate it" - needs investigation and checking.- Author:
- David Ripton, Clemens Katzer (strip GUI issues out, to own new Class)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classBattleUnit.ListenerListeners who needs to be notified if (currently) hits or dead values change, to trigger repaint: a GUIBattleChit representing this creature
-
Field Summary
Fields Modifier and Type Field Description private CreatureTypecreatureTypeprivate BattleHexcurrentHexprivate booleandeadprivate booleandefenderprivate inthitsprivate java.lang.Stringidprivate Legionlegionprivate java.util.Set<BattleUnit.Listener>listenersListeners to be informed when something changes, e.g.private static java.util.logging.LoggerLOGGERprivate booleanmovedprivate intpoisonprivate intpoisonDamageprivate intslowedprivate intslowsprivate BattleHexstartingHexprivate booleanstruckprivate inttag
-
Constructor Summary
Constructors Constructor Description BattleUnit(java.lang.String id, boolean defender, int tag, BattleHex currentHex, CreatureType type, Legion legion)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(BattleUnit.Listener listener)voidaddPoisonDamage(int damage)voidaddSlowed(int slowValue)BattleHexgetCurrentHex()java.lang.StringgetDescription()intgetHits()java.lang.StringgetId()intgetIdBasedTitanPower()LegiongetLegion()intgetPointValue()intgetPoison()intgetPoisonDamage()intgetPower()intgetSkill()intgetSlowed()intgetSlows()BattleHexgetStartingHex()intgetTag()intgetTitanPower()intgetTitanPowerViaLegionAndPlayer()CreatureTypegetType()booleanhasMoved()booleanhasStruck()booleanisDead()booleanisDefender()booleanisDemiLord()booleanisLord()booleanisRangestriker()booleanisTitan()voidmoveToHex(BattleHex hex)voidnotifyListeners()voidremoveListener(BattleUnit.Listener listener)voidsetCurrentHex(BattleHex hex)voidsetDead(boolean dead)voidsetHits(int hits)voidsetMoved(boolean moved)voidsetPoison(int damage)voidsetPoisonDamage(int damage)voidsetSlowed(int slowValue)voidsetSlows(int slowValue)voidsetStruck(boolean struck)java.lang.StringtoString()booleanuseMagicMissile()booleanwouldDieFrom(int hits)
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
tag
private final int tag
-
id
private final java.lang.String id
-
defender
private final boolean defender
-
creatureType
private final CreatureType creatureType
-
legion
private final Legion legion
-
hits
private int hits
-
poisonDamage
private int poisonDamage
-
poison
private int poison
-
slows
private int slows
-
slowed
private int slowed
-
currentHex
private BattleHex currentHex
-
startingHex
private BattleHex startingHex
-
moved
private boolean moved
-
struck
private boolean struck
-
dead
private boolean dead
-
listeners
private final java.util.Set<BattleUnit.Listener> listeners
Listeners to be informed when something changes, e.g. right now only GUIBattleChit that needs to repaint if dead or hits change.
-
-
Constructor Detail
-
BattleUnit
public BattleUnit(java.lang.String id, boolean defender, int tag, BattleHex currentHex, CreatureType type, Legion legion)
-
-
Method Detail
-
getLegion
public Legion getLegion()
-
getTag
public int getTag()
- Specified by:
getTagin interfaceBattleCritter
-
getHits
public int getHits()
- Specified by:
getHitsin interfaceBattleCritter
-
setHits
public void setHits(int hits)
- Specified by:
setHitsin interfaceBattleCritter
-
setPoison
public void setPoison(int damage)
-
setPoisonDamage
public void setPoisonDamage(int damage)
- Specified by:
setPoisonDamagein interfaceBattleCritter
-
addPoisonDamage
public void addPoisonDamage(int damage)
- Specified by:
addPoisonDamagein interfaceBattleCritter
-
setSlowed
public void setSlowed(int slowValue)
- Specified by:
setSlowedin interfaceBattleCritter
-
addSlowed
public void addSlowed(int slowValue)
- Specified by:
addSlowedin interfaceBattleCritter
-
setSlows
public void setSlows(int slowValue)
-
wouldDieFrom
public boolean wouldDieFrom(int hits)
- Specified by:
wouldDieFromin interfaceBattleCritter
-
setDead
public void setDead(boolean dead)
- Specified by:
setDeadin interfaceBattleCritter
-
isDead
public boolean isDead()
- Specified by:
isDeadin interfaceBattleCritter
-
getCurrentHex
public BattleHex getCurrentHex()
- Specified by:
getCurrentHexin interfaceBattleCritter
-
getStartingHex
public BattleHex getStartingHex()
- Specified by:
getStartingHexin interfaceBattleCritter
-
setCurrentHex
public void setCurrentHex(BattleHex hex)
- Specified by:
setCurrentHexin interfaceBattleCritter
-
moveToHex
public void moveToHex(BattleHex hex)
- Specified by:
moveToHexin interfaceBattleCritter
-
hasMoved
public boolean hasMoved()
- Specified by:
hasMovedin interfaceBattleCritter
-
setMoved
public void setMoved(boolean moved)
- Specified by:
setMovedin interfaceBattleCritter
-
hasStruck
public boolean hasStruck()
- Specified by:
hasStruckin interfaceBattleCritter
-
setStruck
public void setStruck(boolean struck)
- Specified by:
setStruckin interfaceBattleCritter
-
getType
public CreatureType getType()
- Specified by:
getTypein interfaceBattleCritter
-
isDefender
public boolean isDefender()
- Specified by:
isDefenderin interfaceBattleCritter
-
getId
public java.lang.String getId()
-
isTitan
public boolean isTitan()
- Specified by:
isTitanin interfaceBattleCritter
-
isLord
public boolean isLord()
- Specified by:
isLordin interfaceBattleCritter
-
isDemiLord
public boolean isDemiLord()
- Specified by:
isDemiLordin interfaceBattleCritter
-
getPower
public int getPower()
- Specified by:
getPowerin interfaceBattleCritter
-
getTitanPower
public int getTitanPower()
- Specified by:
getTitanPowerin interfaceBattleCritter
-
getIdBasedTitanPower
public int getIdBasedTitanPower()
-
getTitanPowerViaLegionAndPlayer
public int getTitanPowerViaLegionAndPlayer()
-
getSkill
public int getSkill()
- Specified by:
getSkillin interfaceBattleCritter
-
getPointValue
public int getPointValue()
- Specified by:
getPointValuein interfaceBattleCritter
-
getPoison
public int getPoison()
- Specified by:
getPoisonin interfaceBattleCritter
-
getPoisonDamage
public int getPoisonDamage()
- Specified by:
getPoisonDamagein interfaceBattleCritter
-
getSlowed
public int getSlowed()
- Specified by:
getSlowedin interfaceBattleCritter
-
getSlows
public int getSlows()
- Specified by:
getSlowsin interfaceBattleCritter
-
isRangestriker
public boolean isRangestriker()
- Specified by:
isRangestrikerin interfaceBattleCritter
-
useMagicMissile
public boolean useMagicMissile()
- Specified by:
useMagicMissilein interfaceBattleCritter
-
getDescription
public java.lang.String getDescription()
- Specified by:
getDescriptionin interfaceBattleCritter
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
addListener
public void addListener(BattleUnit.Listener listener)
-
removeListener
public void removeListener(BattleUnit.Listener listener)
-
notifyListeners
public void notifyListeners()
-
-