package games.strategy.engine.gamePlayer; import java.util.Properties; import games.strategy.engine.data.GameData; import games.strategy.engine.message.IRemote; /** * Communication with the GamePlayer goes through the PlayerBridge to * make the game network transparent. */ public interface IPlayerBridge { /** * Return the game data. */ GameData getGameData(); /** * Get a remote reference to the current delegate, the type of the reference * is declared by the delegates getRemoteType() method. */ IRemote getRemoteDelegate(); /** * Get a remote reference to the named delegate, the type of the reference * is declared by the delegates getRemoteType() method. */ IRemote getRemotePersistentDelegate(String name); /** * Get the name of the current step being exectued. */ String getStepName(); /* * Get the name of the current delegate being executed. TODO: add this in to next release * public String getDelegateName(); */ /** * Get the properties for the current step. */ Properties getStepProperties(); /** * Indicates the game is over. */ boolean isGameOver(); }