rails.game
Interface GameManagerI

All Superinterfaces:
ConfigurableComponentI, MoveableHolder
All Known Implementing Classes:
GameManager, GameManager_1835, GameManager_1856, GameManager_18EU

public interface GameManagerI
extends MoveableHolder, ConfigurableComponentI


Method Summary
 void addPortfolio(Portfolio portfolio)
           
 void addToNextPlayerMessages(java.lang.String s, boolean undoable)
           
 boolean canAnyCompanyHoldShares()
           
 void finishLoading()
           
 void finishShareSellingRound()
           
 void finishTreasuryShareRound()
           
 int getAbsoluteORNumber()
           
 java.util.List<PrivateCompanyI> getAllPrivateCompanies()
           
 java.util.List<PublicCompanyI> getAllPublicCompanies()
           
 Bank getBank()
           
 java.lang.String getClassName(GuiDef.ClassName key)
           
 java.util.List<SpecialPropertyI> getCommonSpecialProperties()
           
 java.util.List<PublicCompanyI> getCompaniesInRunningOrder()
           
 CompanyManagerI getCompanyManager()
           
 java.lang.String getCompositeORNumber()
           
 CorrectionManagerI getCorrectionManager(CorrectionType ct)
           
 PhaseI getCurrentPhase()
           
 Player getCurrentPlayer()
           
 int getCurrentPlayerIndex()
           
 RoundI getCurrentRound()
          Should be called whenever a Phase changes.
 DisplayBuffer getDisplayBuffer()
           
 java.lang.String getGameName()
           
 java.lang.String getGameOption(java.lang.String key)
           
 boolean getGameOverReportedUI()
           
 java.lang.Object getGameParameter(GameDef.Parm key)
           
 java.util.List<java.lang.String> getGameReport()
          Create a HTML-formatted rails.game status report.
 java.lang.String getGMKey()
           
 java.lang.Object getGuiParameter(GuiDef.Parm key)
           
 java.lang.String getHelp()
           
 RoundI getInterruptedRound()
           
 MapManager getMapManager()
           
 MoveStack getMoveStack()
           
 int getNumberOfPlayers()
           
 java.lang.String getORId()
           
 PhaseManager getPhaseManager()
           
 Player getPlayerByIndex(int index)
          Return a player by its index in the list, modulo the number of players.
 int getPlayerCertificateLimit(Player player)
           
 ModelObject getPlayerCertificateLimitModel()
           
 PlayerManager getPlayerManager()
           
 java.util.List<java.lang.String> getPlayerNames()
           
 java.util.List<Player> getPlayers()
           
 Portfolio getPortfolioByName(java.lang.String name)
           
 Portfolio getPortfolioByUniqueName(java.lang.String name)
           
 Player getPriorityPlayer()
           
 int getRelativeORNumber()
           
 ReportBuffer getReportBuffer()
           
 RevenueManager getRevenueManager()
           
<T extends SpecialPropertyI>
java.util.List<T>
getSpecialProperties(java.lang.Class<T> clazz, boolean includeExercised)
           
 int getSRNumber()
           
 StartPacket getStartPacket()
           
 StockMarketI getStockMarket()
           
 TileManager getTileManager()
           
 TrainManager getTrainManager()
           
 GuiHints getUIHints()
           
 void init(java.lang.String gameName, PlayerManager playerManager, CompanyManagerI companyManager, PhaseManager phaseManager, TrainManager trainManager, StockMarketI stockMarket, MapManager mapManager, TileManager tileManager, RevenueManager revenueManager, Bank bank)
           
 void initialiseNewPhase(PhaseI phase)
           
 boolean isDynamicOperatingOrder()
           
 boolean isGameOver()
          To be called by the UI to check if the rails.game is over.
 boolean isReloading()
           
 void nextRound(RoundI round)
          Should be called by each Round when it finishes.
 boolean process(PossibleAction action)
          The central server-side method that takes a client-side initiated action and processes it.
 boolean processOnReload(PossibleAction action)
           
 void registerBankruptcy()
           
 void registerBrokenBank()
           
 void registerMaxedSharePrice(PublicCompanyI company, StockSpaceI space)
           
 Player reorderPlayersByCash(boolean high)
           
 void setCurrentPlayer(Player player)
           
 void setCurrentPlayerIndex(int currentPlayerIndex)
           
 void setGameOverReportedUI(boolean b)
           
 void setGameParameter(GameDef.Parm key, java.lang.Object value)
           
 void setNextPlayer()
           
 void setPlayerCertificateLimit(int newLimit)
           
 void setPriorityPlayer()
          Set priority deal to the player after the current player.
 void setPriorityPlayer(Player player)
           
 void setReloading(boolean reloading)
           
 void setSkipDone(GameDef.OrStep step)
           
 void startGame(java.util.Map<java.lang.String,java.lang.String> gameOptions)
           
 void startShareSellingRound(Player player, int cashToRaise, PublicCompanyI cashNeedingCompany, boolean checkDumpOtherCompanies)
           
 void startTreasuryShareTradingRound()
           
 
Methods inherited from interface rails.game.move.MoveableHolder
addObject, getListIndex, getName, removeObject
 
Methods inherited from interface rails.game.ConfigurableComponentI
configureFromXML, finishConfiguration
 

Method Detail

init

void init(java.lang.String gameName,
          PlayerManager playerManager,
          CompanyManagerI companyManager,
          PhaseManager phaseManager,
          TrainManager trainManager,
          StockMarketI stockMarket,
          MapManager mapManager,
          TileManager tileManager,
          RevenueManager revenueManager,
          Bank bank)
See Also:
rails.game.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)

startGame

void startGame(java.util.Map<java.lang.String,java.lang.String> gameOptions)

getCompanyManager

CompanyManagerI getCompanyManager()

nextRound

void nextRound(RoundI round)
Should be called by each Round when it finishes.

Parameters:
round - The object that represents the finishing round.

getORId

java.lang.String getORId()

getCompositeORNumber

java.lang.String getCompositeORNumber()

getRelativeORNumber

int getRelativeORNumber()

getAbsoluteORNumber

int getAbsoluteORNumber()

getSRNumber

int getSRNumber()

startShareSellingRound

void startShareSellingRound(Player player,
                            int cashToRaise,
                            PublicCompanyI cashNeedingCompany,
                            boolean checkDumpOtherCompanies)

startTreasuryShareTradingRound

void startTreasuryShareTradingRound()

process

boolean process(PossibleAction action)
The central server-side method that takes a client-side initiated action and processes it.

Parameters:
action - A PossibleAction subclass object sent by the client.
Returns:
TRUE is the action was valid.

processOnReload

boolean processOnReload(PossibleAction action)
                        throws java.lang.Exception
Throws:
java.lang.Exception

finishLoading

void finishLoading()

finishShareSellingRound

void finishShareSellingRound()

finishTreasuryShareRound

void finishTreasuryShareRound()

registerBankruptcy

void registerBankruptcy()

registerBrokenBank

void registerBrokenBank()

registerMaxedSharePrice

void registerMaxedSharePrice(PublicCompanyI company,
                             StockSpaceI space)

isDynamicOperatingOrder

boolean isDynamicOperatingOrder()

isGameOver

boolean isGameOver()
To be called by the UI to check if the rails.game is over.

Returns:

setGameOverReportedUI

void setGameOverReportedUI(boolean b)

getGameOverReportedUI

boolean getGameOverReportedUI()

getGameReport

java.util.List<java.lang.String> getGameReport()
Create a HTML-formatted rails.game status report.

Returns:

getCurrentRound

RoundI getCurrentRound()
Should be called whenever a Phase changes. The effect on the number of ORs is delayed until a StockRound finishes.


getCurrentPlayerIndex

int getCurrentPlayerIndex()
Returns:
Returns the currentPlayerIndex.

setCurrentPlayerIndex

void setCurrentPlayerIndex(int currentPlayerIndex)
Parameters:
currentPlayerIndex - The currentPlayerIndex to set.

setCurrentPlayer

void setCurrentPlayer(Player player)

setPriorityPlayer

void setPriorityPlayer()
Set priority deal to the player after the current player.


setPriorityPlayer

void setPriorityPlayer(Player player)

getPriorityPlayer

Player getPriorityPlayer()
Returns:
Returns the priorityPlayer.

getCurrentPlayer

Player getCurrentPlayer()
Returns:
Returns the currentPlayer.

getPlayers

java.util.List<Player> getPlayers()
Returns:
Returns the players.

getNumberOfPlayers

int getNumberOfPlayers()

getPlayerNames

java.util.List<java.lang.String> getPlayerNames()

getAllPublicCompanies

java.util.List<PublicCompanyI> getAllPublicCompanies()

getAllPrivateCompanies

java.util.List<PrivateCompanyI> getAllPrivateCompanies()

getPlayerByIndex

Player getPlayerByIndex(int index)
Return a player by its index in the list, modulo the number of players.

Parameters:
index - The player index.
Returns:
A player object.

setNextPlayer

void setNextPlayer()

addPortfolio

void addPortfolio(Portfolio portfolio)

getPortfolioByName

Portfolio getPortfolioByName(java.lang.String name)

getPortfolioByUniqueName

Portfolio getPortfolioByUniqueName(java.lang.String name)

getStartPacket

StartPacket getStartPacket()
Returns:
the StartPacket

getCurrentPhase

PhaseI getCurrentPhase()
Returns:
Current phase

getPhaseManager

PhaseManager getPhaseManager()

initialiseNewPhase

void initialiseNewPhase(PhaseI phase)

getTrainManager

TrainManager getTrainManager()

getPlayerManager

PlayerManager getPlayerManager()

getTileManager

TileManager getTileManager()

getStockMarket

StockMarketI getStockMarket()

getMapManager

MapManager getMapManager()

getRevenueManager

RevenueManager getRevenueManager()

getBank

Bank getBank()

getGameName

java.lang.String getGameName()

getGameOption

java.lang.String getGameOption(java.lang.String key)

getPlayerCertificateLimit

int getPlayerCertificateLimit(Player player)

setPlayerCertificateLimit

void setPlayerCertificateLimit(int newLimit)

getPlayerCertificateLimitModel

ModelObject getPlayerCertificateLimitModel()

getHelp

java.lang.String getHelp()

canAnyCompanyHoldShares

boolean canAnyCompanyHoldShares()

getClassName

java.lang.String getClassName(GuiDef.ClassName key)

getGuiParameter

java.lang.Object getGuiParameter(GuiDef.Parm key)

getGameParameter

java.lang.Object getGameParameter(GameDef.Parm key)

setGameParameter

void setGameParameter(GameDef.Parm key,
                      java.lang.Object value)

getInterruptedRound

RoundI getInterruptedRound()

getCommonSpecialProperties

java.util.List<SpecialPropertyI> getCommonSpecialProperties()

getSpecialProperties

<T extends SpecialPropertyI> java.util.List<T> getSpecialProperties(java.lang.Class<T> clazz,
                                                                    boolean includeExercised)

getGMKey

java.lang.String getGMKey()

getMoveStack

MoveStack getMoveStack()

getDisplayBuffer

DisplayBuffer getDisplayBuffer()

addToNextPlayerMessages

void addToNextPlayerMessages(java.lang.String s,
                             boolean undoable)

getReportBuffer

ReportBuffer getReportBuffer()

getUIHints

GuiHints getUIHints()

getCorrectionManager

CorrectionManagerI getCorrectionManager(CorrectionType ct)

getCompaniesInRunningOrder

java.util.List<PublicCompanyI> getCompaniesInRunningOrder()

isReloading

boolean isReloading()

setReloading

void setReloading(boolean reloading)

setSkipDone

void setSkipDone(GameDef.OrStep step)

reorderPlayersByCash

Player reorderPlayersByCash(boolean high)