net.sf.colossus.webcommon
Class GameInfo
java.lang.Object
net.sf.colossus.webcommon.GameInfo
public class GameInfo
- extends java.lang.Object
One object of this this class represents a game for which players/users
have enrolled to play it together.
It starts in state "PROPOSED" as type either instantly or scheduled.
Then its state will change along the sequence of states
PROPOSED, DUE, ACTIVATED, STARTING, READY_TO_CONNECT, RUNNING, ENDING
as denoted in the GameState enum.
The actual running/starting of the game will be handled by different
classes, namely GameOnServer and (to be done) GameOnClient.
The same class is also used at client side, but only part of the data
is used there (e.g. the user has only a name, not a socket).
- Author:
- Clemens Katzer
Nested Class Summary |
static class |
GameInfo.GameState
Enum for the possible states of a game: |
static class |
GameInfo.GameType
Enum for the possible TYPES of a game
(scheduled or instant, perhaps later also template?) |
Constructor Summary |
private |
GameInfo(GameInfo.GameType type)
|
|
GameInfo(java.lang.String gameId,
boolean onServer)
|
|
GameInfo(java.lang.String initiator,
java.lang.String variant,
java.lang.String viewmode,
long startTime,
int duration,
java.lang.String summary,
java.lang.String expire,
boolean unlimitedMulligans,
boolean balancedTowers,
int min,
int target,
int max)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOGGER
private static final java.util.logging.Logger LOGGER
nextFreeGameId
private static int nextFreeGameId
gameId
private java.lang.String gameId
type
private GameInfo.GameType type
state
private GameInfo.GameState state
portNr
private int portNr
hostingHost
private java.lang.String hostingHost
gameRunner
private IGameRunner gameRunner
initiator
private java.lang.String initiator
variant
private java.lang.String variant
viewmode
private java.lang.String viewmode
autosave
private final boolean autosave
- See Also:
- Constant Field Values
eventExpiring
private java.lang.String eventExpiring
unlimitedMulligans
private boolean unlimitedMulligans
balancedTowers
private boolean balancedTowers
min
private int min
target
private int target
max
private int max
startTime
private long startTime
duration
private int duration
summary
private java.lang.String summary
enrolledPlayers
private int enrolledPlayers
players
private java.util.ArrayList<User> players
GameInfo
private GameInfo(GameInfo.GameType type)
GameInfo
public GameInfo(java.lang.String initiator,
java.lang.String variant,
java.lang.String viewmode,
long startTime,
int duration,
java.lang.String summary,
java.lang.String expire,
boolean unlimitedMulligans,
boolean balancedTowers,
int min,
int target,
int max)
GameInfo
public GameInfo(java.lang.String gameId,
boolean onServer)
getNextFreeGameId
private int getNextFreeGameId()
fromString
public static GameInfo fromString(java.lang.String[] tokens,
java.util.HashMap<java.lang.String,GameInfo> games,
boolean fromFile)
toString
public java.lang.String toString(java.lang.String sep)
setState
public void setState(GameInfo.GameState state)
getGameState
public GameInfo.GameState getGameState()
isScheduledGame
public boolean isScheduledGame()
getStateString
public java.lang.String getStateString()
getGameId
public java.lang.String getGameId()
setGameId
public void setGameId(java.lang.String val)
setGameRunner
public void setGameRunner(IGameRunner gr)
getGameRunner
public IGameRunner getGameRunner()
getPort
public int getPort()
setPort
public void setPort(int nr)
setHostingHost
public void setHostingHost(java.lang.String host)
getHostingHost
public java.lang.String getHostingHost()
getInitiator
public java.lang.String getInitiator()
setInitiator
public void setInitiator(java.lang.String val)
getStartTime
public java.lang.Long getStartTime()
setStartTime
public void setStartTime(java.lang.String val)
getDuration
public java.lang.Integer getDuration()
setDuration
public void setDuration(java.lang.String val)
getSummary
public java.lang.String getSummary()
setSummary
public void setSummary(java.lang.String val)
getVariant
public java.lang.String getVariant()
setVariant
public void setVariant(java.lang.String val)
getViewmode
public java.lang.String getViewmode()
getAutosave
public boolean getAutosave()
setViewmode
public void setViewmode(java.lang.String val)
getEventExpiring
public java.lang.String getEventExpiring()
setEventExpiring
public void setEventExpiring(java.lang.String val)
getUnlimitedMulligans
public boolean getUnlimitedMulligans()
setUnlimitedMulligans
public void setUnlimitedMulligans(boolean val)
getBalancedTowers
public boolean getBalancedTowers()
setBalancedTowers
public void setBalancedTowers(boolean val)
getMin
public java.lang.Integer getMin()
setMin
public void setMin(java.lang.Integer val)
getTargetInteger
public java.lang.Integer getTargetInteger()
getTarget
public int getTarget()
setTarget
public void setTarget(java.lang.Integer val)
getMax
public java.lang.Integer getMax()
setMax
public void setMax(java.lang.Integer val)
getEnrolledCount
public java.lang.Integer getEnrolledCount()
setEnrolledCount
public void setEnrolledCount(java.lang.Integer val)
getPlayers
public java.util.ArrayList<User> getPlayers()
getPlayerListAsString
public java.lang.String getPlayerListAsString()
reEnrollIfNecessary
public boolean reEnrollIfNecessary(User newUser)
isEnrolled
public boolean isEnrolled(java.lang.String searchName)
setPlayerList
public void setPlayerList(java.util.ArrayList<User> playerlist)
enroll
public java.lang.String enroll(User user)
unenroll
public java.lang.String unenroll(User user)
storeToOptionsObject
public void storeToOptionsObject(Options gameOptions,
java.lang.String localPlayerName,
boolean noAIs)