net.sf.freecol.server.ai.mission
Class PioneeringMission

java.lang.Object
  extended by net.sf.freecol.common.model.FreeColObject
      extended by net.sf.freecol.server.ai.AIObject
          extended by net.sf.freecol.server.ai.mission.Mission
              extended by net.sf.freecol.server.ai.mission.PioneeringMission

public class PioneeringMission
extends Mission

Mission for controlling a pioneer.

See Also:
Unit.Role.PIONEER

Field Summary
 
Fields inherited from class net.sf.freecol.common.model.FreeColObject
ID_ATTRIBUTE_TAG
 
Constructor Summary
PioneeringMission(AIMain aiMain, AIUnit aiUnit)
          Creates a mission for the given AIUnit.
PioneeringMission(AIMain aiMain, org.w3c.dom.Element element)
          Loads a mission from the given element.
PioneeringMission(AIMain aiMain, javax.xml.stream.XMLStreamReader in)
          Creates a new PioneeringMission and reads the given element.
 
Method Summary
 void dispose()
          Disposes this Mission.
 void doMission(Connection connection)
          Performs this mission.
static Colony findColonyWithTools(AIUnit aiu)
           
 java.lang.String getDebuggingInfo()
          Gets debugging information about this mission.
static java.util.List<AIUnit> getPlayerPioneers(AIPlayer aiPlayer)
           
 Tile getTransportDestination()
          Returns the destination for this Transportable.
 int getTransportPriority()
          Returns the priority of getting the unit to the transport destination.
static java.lang.String getXMLElementTagName()
          Returns the tag name of the root element representing this object.
 boolean isValid()
          Checks if this mission is still valid to perform.
static boolean isValid(AIUnit aiUnit)
          Checks if this mission is valid for the given unit.
 void setTileImprovementPlan(TileImprovementPlan tileImprovementPlan)
          Sets the TileImprovementPlan which should be the next target.
 
Methods inherited from class net.sf.freecol.server.ai.mission.Mission
attack, buyGoods, findNearestColony, getAIUnit, getUnit
 
Methods inherited from class net.sf.freecol.server.ai.AIObject
getAIMain, getGame, isUninitialized, readFromXML
 
Methods inherited from class net.sf.freecol.common.model.FreeColObject
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAttribute, getAttribute, getAttribute, getAttribute, getId, getPropertyChangeListeners, getPropertyChangeListeners, hasAbility, hasAttribute, hasListeners, readFromXMLElement, removePropertyChangeListener, removePropertyChangeListener, toXML, toXML, toXML, toXMLElement, toXMLElement, toXMLElement, toXMLElement, toXMLElementPartial, writeAttribute, writeFreeColGameObject
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PioneeringMission

public PioneeringMission(AIMain aiMain,
                         AIUnit aiUnit)
Creates a mission for the given AIUnit.

Parameters:
aiMain - The main AI-object.
aiUnit - The AIUnit this mission is created for.

PioneeringMission

public PioneeringMission(AIMain aiMain,
                         org.w3c.dom.Element element)
Loads a mission from the given element.

Parameters:
aiMain - The main AI-object.
element - An Element containing an XML-representation of this object.

PioneeringMission

public PioneeringMission(AIMain aiMain,
                         javax.xml.stream.XMLStreamReader in)
                  throws javax.xml.stream.XMLStreamException
Creates a new PioneeringMission and reads the given element.

Parameters:
aiMain - The main AI-object.
in - The input stream containing the XML.
Throws:
javax.xml.stream.XMLStreamException - if a problem was encountered during parsing.
See Also:
AIObject.readFromXML(javax.xml.stream.XMLStreamReader)
Method Detail

dispose

public void dispose()
Disposes this Mission.

Overrides:
dispose in class Mission

setTileImprovementPlan

public void setTileImprovementPlan(TileImprovementPlan tileImprovementPlan)
Sets the TileImprovementPlan which should be the next target.

Parameters:
tileImprovementPlan - The TileImprovementPlan.

doMission

public void doMission(Connection connection)
Performs this mission.

Specified by:
doMission in class Mission
Parameters:
connection - The Connection to the server.

getTransportDestination

public Tile getTransportDestination()
Returns the destination for this Transportable. This can either be the target Tile of the transport or the target for the entire Transportable's mission. The target for the tansport is determined by TransportMission in the latter case.

Overrides:
getTransportDestination in class Mission
Returns:
The destination for this Transportable.

getTransportPriority

public int getTransportPriority()
Returns the priority of getting the unit to the transport destination.

Overrides:
getTransportPriority in class Mission
Returns:
The priority.

isValid

public boolean isValid()
Checks if this mission is still valid to perform.

Overrides:
isValid in class Mission
Returns:
true if this mission is still valid to perform and false otherwise.

isValid

public static boolean isValid(AIUnit aiUnit)
Checks if this mission is valid for the given unit.

Parameters:
aiUnit - The unit.
Returns:
true if this mission is still valid to perform and false otherwise.

findColonyWithTools

public static Colony findColonyWithTools(AIUnit aiu)

getPlayerPioneers

public static java.util.List<AIUnit> getPlayerPioneers(AIPlayer aiPlayer)

getXMLElementTagName

public static java.lang.String getXMLElementTagName()
Returns the tag name of the root element representing this object.

Returns:
The String "wishRealizationMission".

getDebuggingInfo

public java.lang.String getDebuggingInfo()
Gets debugging information about this mission. This string is a short representation of this object's state.

Overrides:
getDebuggingInfo in class Mission
Returns:
The String:
  • "(x, y) P" (for plowing)
  • "(x, y) R" (for building road)
  • "(x, y) Getting tools: (x, y)"