package Factory.GameLogic.GameActors; import Factory.GameLogic.Enums.Faction; import Factory.GameLogic.TransportTypes.TAbstractField; import Factory.GameLogic.TransportTypes.TInfluenceField; import Factory.GameLogic.TransportTypes.TUnit; /** * Created with IntelliJ IDEA. * User: TwiG * Date: 13.05.12 * Time: 20:26 * To change this template use File | Settings | File Templates. */ public class InfluenceField extends AbstractField implements java.io.Serializable { // ------------------------------ FIELDS ------------------------------ private int factoryID; public int getFactoryID() { return factoryID; } // --------------------------- CONSTRUCTORS --------------------------- public InfluenceField(int factoryID) { this.factoryID = factoryID; } // --------------------- GETTER / SETTER METHODS --------------------- public int getInfluence() { int influence = 0; if (this.isOccupied()) { if (this.getOccupant().getFaction() == Faction.BLUE) { influence = 1; } else influence = -1; } else { influence = 0; } return influence; } // ------------------------ CANONICAL METHODS ------------------------ @Override public String toString() { String unit = " "; if (this.isOccupied()) unit = this.getOccupant().toString(); return "[ I" + unit + "]"; } // ------------------------ INTERFACE METHODS ------------------------ // --------------------- Interface IHasTransportType --------------------- @Override public TAbstractField getTransportType() { TUnit tUnit = null; if (this.isOccupied()) { tUnit = this.getOccupant().getTransportType(); } return new TInfluenceField(tUnit, factoryID); } }