rails.game.special
Class SpecialTileLay

java.lang.Object
  extended by rails.game.special.SpecialProperty
      extended by rails.game.special.SpecialTileLay
All Implemented Interfaces:
ConfigurableComponentI, Moveable, SpecialPropertyI

public class SpecialTileLay
extends SpecialProperty


Nested Class Summary
 
Nested classes/interfaces inherited from interface rails.game.special.SpecialPropertyI
SpecialPropertyI.Priority
 
Field Summary
(package private)  boolean connected
           
(package private)  boolean extra
           
(package private)  boolean free
           
(package private)  java.lang.String locationCodes
           
(package private)  java.util.List<MapHex> locations
           
(package private)  java.lang.String name
           
(package private)  TileI tile
           
protected  java.lang.String[] tileColours
          Tile colours that can be laid with this special property.
(package private)  int tileNumber
           
 
Fields inherited from class rails.game.special.SpecialProperty
closingValue, conditionText, description, exercised, gameManager, holder, isORProperty, isSRProperty, lastIndex, log, originalCompany, permanent, priority, spMap, transferText, uniqueId, usableDuringOR, usableDuringSR, usableDuringTileLayingStep, usableDuringTokenLayingStep, usableIfOwnedByCompany, usableIfOwnedByPlayer, whenText
 
Fields inherited from interface rails.game.special.SpecialPropertyI
DEFAULT_PRIORITY
 
Fields inherited from interface rails.game.move.Moveable
AT_END
 
Constructor Summary
SpecialTileLay()
           
 
Method Summary
 void configureFromXML(Tag tag)
          Instructs the component to configure itself from the provided XML element.
 void finishConfiguration(GameManagerI gameManager)
          This method is intended to be called for each configurable component, to perforn any initialisation activities that require any other components to be initialised first.
 java.lang.String getInfo()
          Default Info text.
 java.lang.String getLocationNameString()
           
 java.util.List<MapHex> getLocations()
           
 java.lang.String getName()
           
 TileI getTile()
           
 java.lang.String[] getTileColours()
           
 int getTileNumber()
           
 boolean isExecutionable()
           
 boolean isExtra()
           
 boolean isFree()
           
 boolean requiresConnection()
           
 java.lang.String toMenu()
          Default menu item text, should be by all special properties that can appear as a menu item
 java.lang.String toString()
           
 
Methods inherited from class rails.game.special.SpecialProperty
getByUniqueId, getClosingValue, getHelp, getHolder, getOriginalCompany, getPriority, getTransferText, getUniqueId, init, isExercised, isORProperty, isSRProperty, isUsableDuringOR, isUsableDuringSR, isUsableDuringTileLayingStep, isUsableDuringTokenLayingStep, isUsableIfOwnedByCompany, isUsableIfOwnedByPlayer, moveTo, setCompany, setExercised, setExercised, setHolder, setPriority, setUsableDuringOR, setUsableDuringSR, setUsableDuringTileLayingStep, setUsableDuringTokenLayingStep, setUsableIfOwnedByCompany, setUsableIfOwnedByPlayer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

locationCodes

java.lang.String locationCodes

locations

java.util.List<MapHex> locations

tileNumber

int tileNumber

tile

TileI tile

name

java.lang.String name

extra

boolean extra

free

boolean free

connected

boolean connected

tileColours

protected java.lang.String[] tileColours
Tile colours that can be laid with this special property. Default is same colours as is allowed in a a normal tile lay. Don't use if specific tiles are specified!

Constructor Detail

SpecialTileLay

public SpecialTileLay()
Method Detail

configureFromXML

public void configureFromXML(Tag tag)
                      throws ConfigurationException
Description copied from interface: ConfigurableComponentI
Instructs the component to configure itself from the provided XML element.

Specified by:
configureFromXML in interface ConfigurableComponentI
Overrides:
configureFromXML in class SpecialProperty
Throws:
ConfigurationException

finishConfiguration

public void finishConfiguration(GameManagerI gameManager)
                         throws ConfigurationException
Description copied from interface: ConfigurableComponentI
This method is intended to be called for each configurable component, to perforn any initialisation activities that require any other components to be initialised first. This includes creating any required relationships to other configured components and objects.

This method should be called where necessary after all XML file parsing has completed, so that all objects that need to be related to do exist.

Specified by:
finishConfiguration in interface ConfigurableComponentI
Overrides:
finishConfiguration in class SpecialProperty
Parameters:
gameManager - The 'parent' configurable component is passed to allow the 'child' to access any other object without the need to resort to static calls where possible.
Throws:
ConfigurationException

isExecutionable

public boolean isExecutionable()

isExtra

public boolean isExtra()

isFree

public boolean isFree()

requiresConnection

public boolean requiresConnection()

getLocations

public java.util.List<MapHex> getLocations()

getLocationNameString

public java.lang.String getLocationNameString()

getTileNumber

public int getTileNumber()

getTile

public TileI getTile()

getTileColours

public java.lang.String[] getTileColours()

getName

public java.lang.String getName()

toString

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

toMenu

public java.lang.String toMenu()
Description copied from class: SpecialProperty
Default menu item text, should be by all special properties that can appear as a menu item

Specified by:
toMenu in interface SpecialPropertyI
Overrides:
toMenu in class SpecialProperty

getInfo

public java.lang.String getInfo()
Description copied from class: SpecialProperty
Default Info text. To be overridden where useful.

Specified by:
getInfo in interface SpecialPropertyI
Overrides:
getInfo in class SpecialProperty