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

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.IndianBringGiftMission

public class IndianBringGiftMission
extends Mission

Mission for bringing a gift to a specified player.

The mission has three different tasks to perform:

  1. Get the gift (goods) from the IndianSettlement that owns the unit.
  2. Transport this gift to the given Colony.
  3. Complete the mission by delivering the gift.


Field Summary
 
Fields inherited from class net.sf.freecol.common.model.FreeColObject
ID_ATTRIBUTE_TAG
 
Constructor Summary
IndianBringGiftMission(AIMain aiMain, AIUnit aiUnit, Colony target)
          Creates a mission for the given AIUnit.
IndianBringGiftMission(AIMain aiMain, org.w3c.dom.Element element)
          Loads a mission from the given element.
IndianBringGiftMission(AIMain aiMain, javax.xml.stream.XMLStreamReader in)
          Creates a new IndianBringGiftMission and reads the given element.
 
Method Summary
 void doMission(Connection connection)
          Performs the mission.
 java.lang.String getDebuggingInfo()
          Gets debugging information about this mission.
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 isValidMission(Player owner, Player targetPlayer)
          Checks if the player owner can bring a gift to the targetPlayer.
 
Methods inherited from class net.sf.freecol.server.ai.mission.Mission
attack, buyGoods, dispose, findNearestColony, getAIUnit, getTransportDestination, getTransportPriority, 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

IndianBringGiftMission

public IndianBringGiftMission(AIMain aiMain,
                              AIUnit aiUnit,
                              Colony target)
Creates a mission for the given AIUnit.

Parameters:
aiMain - The main AI-object.
aiUnit - The AIUnit this mission is created for.
target - The Colony receiving the gift.

IndianBringGiftMission

public IndianBringGiftMission(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.

IndianBringGiftMission

public IndianBringGiftMission(AIMain aiMain,
                              javax.xml.stream.XMLStreamReader in)
                       throws javax.xml.stream.XMLStreamException
Creates a new IndianBringGiftMission 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

doMission

public void doMission(Connection connection)
Performs the mission.

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

isValid

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

This mission will be invalidated when the gift has been delivered. In case of the stances WAR or CEASE_FIRE towards the target player, the mission would be invalidated as well.

Overrides:
isValid in class Mission
Returns:
true if this mission is still valid.

isValidMission

public static boolean isValidMission(Player owner,
                                     Player targetPlayer)
Checks if the player owner can bring a gift to the targetPlayer.

Parameters:
owner - The owner of this mission.
targetPlayer - The target of the gift.
Returns:
true if this mission is still valid to perform with regard to the tension towards the target player.

getXMLElementTagName

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

Returns:
The String "indianBringGiftMission".

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: "[ColonyName] GIFT_TYPE" or "[ColonyName] Getting gift: (x, y)".