|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectrails.game.City
public class City
A City object represents any junction on the map that is relevant for establishing train run length and revenue calculation. A City object is bound to (1) a MapHex, (2) to a Station object on the current Tile laid on that MapHex, and (3) any tokens laid on that tile and station.
Each City has a unique ID, that is derived from the MapHex name and the City number. The initial City numbers are derived from the Station numbers of the preprinted tile of that hex.
Please note, that during upgrades the Station numbers related to a city on a multiple-city hex may change: city 1 on one tile may be numbered 2 on its upgrade, depending on the rotation of the upgrading tile. However, the City numbers will not change, unless cities are merged during upgrades; but even then it is attempted to retain the old city numbers as much as possible.
Field Summary | |
---|---|
protected static org.apache.log4j.Logger |
log
|
Constructor Summary | |
---|---|
City(MapHex mapHex,
int number,
Station station)
|
Method Summary | |
---|---|
boolean |
addObject(Moveable object,
int[] position)
Add an object to its list at a certain position. |
boolean |
addToken(TokenI token,
int position)
|
MapHex |
getHolder()
|
int[] |
getListIndex(Moveable object)
|
java.lang.String |
getName()
Each station must have a name, which includes the tile Id (if on a tile) or the hex name (if on a MapHex). |
int |
getNumber()
|
Station |
getRelatedStation()
|
int |
getSlots()
|
java.util.List<TokenI> |
getTokens()
|
int |
getTokenSlotsLeft()
|
java.lang.String |
getTrackEdges()
|
java.lang.String |
getUniqueId()
|
boolean |
hasTokenOf(PublicCompanyI company)
|
boolean |
hasTokenOf(java.lang.String companyName)
|
boolean |
hasTokens()
Do we have any tokens? |
boolean |
hasTokenSlotsLeft()
|
boolean |
removeObject(Moveable object)
|
boolean |
removeToken(TokenI token)
Remove a token. |
void |
setRelatedStation(Station relatedStation)
|
void |
setSlots(int slots)
|
void |
setTokens(java.util.ArrayList<TokenI> tokens)
|
void |
setTrackEdges(java.lang.String trackEdges)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static org.apache.log4j.Logger log
Constructor Detail |
---|
public City(MapHex mapHex, int number, Station station)
Method Detail |
---|
public java.lang.String getName()
TokenHolder
getName
in interface MoveableHolder
getName
in interface TokenHolder
public MapHex getHolder()
public int getNumber()
public Station getRelatedStation()
public void setRelatedStation(Station relatedStation)
public void setSlots(int slots)
public java.lang.String getUniqueId()
public boolean addToken(TokenI token, int position)
addToken
in interface TokenHolder
public boolean addObject(Moveable object, int[] position)
MoveableHolder
addObject
in interface MoveableHolder
object
- The Moveable object to be added.position
- Position to insert object at. O: at front, -1, at end, >0: at that position.
public boolean removeObject(Moveable object)
removeObject
in interface MoveableHolder
public java.util.List<TokenI> getTokens()
getTokens
in interface TokenHolder
public boolean hasTokens()
TokenHolder
hasTokens
in interface TokenHolder
public int getSlots()
public boolean hasTokenSlotsLeft()
public int getTokenSlotsLeft()
public boolean removeToken(TokenI token)
TokenHolder
removeToken
in interface TokenHolder
token
- The token object to remove.
public boolean hasTokenOf(PublicCompanyI company)
company
-
public boolean hasTokenOf(java.lang.String companyName)
public int[] getListIndex(Moveable object)
getListIndex
in interface MoveableHolder
public void setTokens(java.util.ArrayList<TokenI> tokens)
public java.lang.String getTrackEdges()
public void setTrackEdges(java.lang.String trackEdges)
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |