rails.game.action
Class LayBaseToken

java.lang.Object
  extended by rails.game.action.PossibleAction
      extended by rails.game.action.PossibleORAction
          extended by rails.game.action.LayToken
              extended by rails.game.action.LayBaseToken
All Implemented Interfaces:
java.io.Serializable

public class LayBaseToken
extends LayToken

Author:
Erik Vos
See Also:
Serialized Form

Field Summary
protected  int chosenStation
          The station (or city) on the hex where the token is laid
static int GENERIC
           
static int HOME_CITY
           
static int LOCATION_SPECIFIC
           
static long serialVersionUID
           
static int SPECIAL_PROPERTY
           
protected  int type
           
 
Fields inherited from class rails.game.action.LayToken
chosenHex, chosenHexName, locationNames, locations, specialProperty, specialPropertyId
 
Fields inherited from class rails.game.action.PossibleORAction
company, companyName
 
Fields inherited from class rails.game.action.PossibleAction
acted, gameManager, log, playerIndex, playerName
 
Constructor Summary
LayBaseToken(java.util.List<MapHex> locations)
          Allow laying a base token on a given location.
LayBaseToken(MapHex hex)
           
LayBaseToken(SpecialTokenLay specialProperty)
           
 
Method Summary
 boolean equalsAsAction(PossibleAction action)
          Compare the chosen actions of two action objects.
 boolean equalsAsOption(PossibleAction action)
          Compare the choice options of two action objects, without regard to whatever choice has been made, if any.
 int getChosenStation()
           
 int getType()
           
 void setChosenStation(int chosenStation)
           
 java.lang.String toString()
           
 
Methods inherited from class rails.game.action.LayToken
getChosenHex, getLocationNameString, getLocations, getSpecialProperty, setChosenHex, setSpecialProperty
 
Methods inherited from class rails.game.action.PossibleORAction
getCompany, getCompanyName, setCompany
 
Methods inherited from class rails.game.action.PossibleAction
getCompanyManager, getGameManager, getPlayerIndex, getPlayerName, hasActed, setActed, setPlayerName, toMenu
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

GENERIC

public static final int GENERIC
See Also:
Constant Field Values

LOCATION_SPECIFIC

public static final int LOCATION_SPECIFIC
See Also:
Constant Field Values

SPECIAL_PROPERTY

public static final int SPECIAL_PROPERTY
See Also:
Constant Field Values

HOME_CITY

public static final int HOME_CITY
See Also:
Constant Field Values

type

protected int type

chosenStation

protected int chosenStation
The station (or city) on the hex where the token is laid


serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

LayBaseToken

public LayBaseToken(java.util.List<MapHex> locations)
Allow laying a base token on a given location.


LayBaseToken

public LayBaseToken(SpecialTokenLay specialProperty)

LayBaseToken

public LayBaseToken(MapHex hex)
Method Detail

getChosenStation

public int getChosenStation()

setChosenStation

public void setChosenStation(int chosenStation)

getType

public int getType()

equalsAsOption

public boolean equalsAsOption(PossibleAction action)
Description copied from class: PossibleAction
Compare the choice options of two action objects, without regard to whatever choice has been made, if any. In other words: only the server-set (prior) attributes must be compared.

This method is used by the server (engine) to validate the incoming action that has actually been chosen in the client (GUI), but only for the purpose to check if the chosen option was really on offer, not to check if the chosen action is actually valid. These perspectives could give different results in cases where the PossibleAction does not fully restrict choices to valid values only (such as the blanket LayTile that does no restrict the hex to lay a tile on, or the SetDividend that will accept any revenue value).

Specified by:
equalsAsOption in class PossibleAction
Parameters:
action - Another PossibleAction to compare with.
Returns:
True if the compared PossibleAction object has equal choice options.

equalsAsAction

public boolean equalsAsAction(PossibleAction action)
Description copied from class: PossibleAction
Compare the chosen actions of two action objects. In other words: the client-set (posterior) attributes must be compared, in addition to those server-set (prior) attributes that sufficiently identify the action.

This method is used by the server (engine) to check if two action objects represent the same actual action, as is done when reloading a saved file (i.e. loading a later stage of the same game).

Specified by:
equalsAsAction in class PossibleAction
Parameters:
action - Another PossibleAction to compare with.
Returns:
True if the compared PossibleAction object has equal selected action values.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object