public class GameInfo
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
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?)
|
Modifier and Type | Field and Description |
---|---|
private boolean |
autosave |
private boolean |
balancedTowers |
private int |
duration |
private int |
enrolledPlayers |
private java.lang.String |
eventExpiring |
private java.lang.String |
gameId |
private IGameRunner |
gameRunner |
private java.lang.String |
hostingHost |
private java.lang.String |
initiator |
private static java.util.logging.Logger |
LOGGER |
private int |
max |
private int |
min |
private static int |
nextFreeGameId |
private GameInfo.GameState |
oldState
temporary backup during startingAttempt
|
private int |
onlineCount |
private java.util.ArrayList<User> |
players |
private int |
portNr |
private User |
startingUser |
private long |
startTime |
private GameInfo.GameState |
state |
private java.lang.String |
summary |
private int |
target |
private GameInfo.GameType |
type |
private boolean |
unlimitedMulligans |
private java.lang.String |
variant |
private java.lang.String |
viewmode |
Modifier | Constructor and Description |
---|---|
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) |
Modifier and Type | Method and Description |
---|---|
boolean |
allEnrolledOnline()
Have enough players enrolled (at least "min")
|
void |
cancelStarting() |
boolean |
enoughPlayersEnrolled() |
java.lang.String |
enroll(User user) |
static GameInfo |
fromString(java.lang.String[] tokens,
java.util.HashMap<java.lang.String,GameInfo> games,
boolean fromFile) |
boolean |
getAutosave() |
boolean |
getBalancedTowers() |
java.lang.Integer |
getDuration() |
java.lang.Integer |
getEnrolledCount() |
java.lang.String |
getEventExpiring() |
java.lang.String |
getGameId() |
IGameRunner |
getGameRunner() |
GameInfo.GameState |
getGameState() |
java.lang.String |
getHostingHost() |
java.lang.String |
getInitiator() |
java.lang.Integer |
getMax() |
java.lang.Integer |
getMin() |
private static int |
getNextFreeGameId() |
int |
getOnlineCount() |
java.lang.String |
getPlayerListAsString() |
java.util.ArrayList<User> |
getPlayers() |
int |
getPort() |
User |
getStartingUser() |
java.lang.Long |
getStartTime() |
java.lang.String |
getStateString() |
java.lang.String |
getSummary() |
int |
getTarget() |
java.lang.Integer |
getTargetInteger() |
boolean |
getUnlimitedMulligans() |
java.lang.String |
getVariant() |
java.lang.String |
getViewmode() |
boolean |
hasEnoughPlayers()
Have enough players enrolled (at least "min")
|
boolean |
isDue()
Has the scheduled time come?
|
boolean |
isEnrolled(java.lang.String searchName) |
boolean |
isFirstInEnrolledList(java.lang.String name) |
boolean |
isScheduledGame() |
boolean |
isStartable() |
boolean |
isStarting() |
private static GameInfo.GameType |
makeTypeFromStarttime(long startTime) |
void |
markStarting(User starter) |
boolean |
reEnrollIfNecessary(User newUser) |
boolean |
relevantForSaving() |
boolean |
removeIfEnrolled(java.lang.String newName)
TODO remove overlap with isEnrolled
If user with name "newName" is found, remove it from game, so that
it can be safely enrolled again.
|
void |
setBalancedTowers(boolean val) |
void |
setDuration(java.lang.String val) |
void |
setEnrolledCount(java.lang.Integer val) |
void |
setEventExpiring(java.lang.String val) |
void |
setGameId(java.lang.String val) |
void |
setGameRunner(IGameRunner gr) |
void |
setHostingHost(java.lang.String host) |
void |
setInitiator(java.lang.String val) |
void |
setMax(java.lang.Integer val) |
void |
setMin(java.lang.Integer val) |
static void |
setNextFreeGameId(int id)
Server calls this to set it high enough that existing directories
in games work directory are not overwritten
|
void |
setOnlineCount(int count) |
void |
setPlayerList(java.util.ArrayList<User> playerlist) |
void |
setPort(int nr) |
void |
setStartTime(java.lang.String val) |
void |
setState(GameInfo.GameState state) |
void |
setSummary(java.lang.String val) |
void |
setTarget(java.lang.Integer val) |
void |
setUnlimitedMulligans(boolean val) |
void |
setVariant(java.lang.String val) |
void |
setViewmode(java.lang.String val) |
void |
storeToOptionsObject(Options gameOptions,
java.lang.String localPlayerName,
boolean noAIs) |
java.lang.String |
toString(java.lang.String sep) |
java.lang.String |
unenroll(User user) |
boolean |
updateOnlineCount(int newCount) |
boolean |
wasAlreadyStarted() |
static boolean |
wouldBeInstantGame(long startTime) |
private static final java.util.logging.Logger LOGGER
private static int nextFreeGameId
private java.lang.String gameId
private GameInfo.GameType type
private GameInfo.GameState state
private GameInfo.GameState oldState
private User startingUser
private int portNr
private java.lang.String hostingHost
private IGameRunner gameRunner
private java.lang.String initiator
private java.lang.String variant
private java.lang.String viewmode
private final boolean autosave
private java.lang.String eventExpiring
private boolean unlimitedMulligans
private boolean balancedTowers
private int min
private int target
private int max
private int onlineCount
private long startTime
private int duration
private java.lang.String summary
private int enrolledPlayers
private java.util.ArrayList<User> players
private GameInfo(GameInfo.GameType type)
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)
public GameInfo(java.lang.String gameId, boolean onServer)
public static void setNextFreeGameId(int id)
id
- Next games should have higher number than given idprivate static int getNextFreeGameId()
public static boolean wouldBeInstantGame(long startTime)
private static GameInfo.GameType makeTypeFromStarttime(long startTime)
public static GameInfo fromString(java.lang.String[] tokens, java.util.HashMap<java.lang.String,GameInfo> games, boolean fromFile)
public java.lang.String toString(java.lang.String sep)
public void setState(GameInfo.GameState state)
public GameInfo.GameState getGameState()
public boolean isScheduledGame()
public java.lang.String getStateString()
public java.lang.String getGameId()
public void setGameId(java.lang.String val)
public void setGameRunner(IGameRunner gr)
public IGameRunner getGameRunner()
public int getPort()
public void setPort(int nr)
public void setHostingHost(java.lang.String host)
public java.lang.String getHostingHost()
public java.lang.String getInitiator()
public void setInitiator(java.lang.String val)
public java.lang.Long getStartTime()
public void setStartTime(java.lang.String val)
public java.lang.Integer getDuration()
public void setDuration(java.lang.String val)
public java.lang.String getSummary()
public void setSummary(java.lang.String val)
public java.lang.String getVariant()
public void setVariant(java.lang.String val)
public java.lang.String getViewmode()
public boolean getAutosave()
public void setViewmode(java.lang.String val)
public java.lang.String getEventExpiring()
public void setEventExpiring(java.lang.String val)
public boolean getUnlimitedMulligans()
public void setUnlimitedMulligans(boolean val)
public boolean getBalancedTowers()
public void setBalancedTowers(boolean val)
public boolean hasEnoughPlayers()
public boolean allEnrolledOnline()
public boolean isDue()
public java.lang.Integer getMin()
public void setMin(java.lang.Integer val)
public java.lang.Integer getTargetInteger()
public int getTarget()
public void setTarget(java.lang.Integer val)
public java.lang.Integer getMax()
public void setMax(java.lang.Integer val)
public java.lang.Integer getEnrolledCount()
public boolean enoughPlayersEnrolled()
public int getOnlineCount()
public void setOnlineCount(int count)
public void setEnrolledCount(java.lang.Integer val)
public java.util.ArrayList<User> getPlayers()
public java.lang.String getPlayerListAsString()
public boolean isFirstInEnrolledList(java.lang.String name)
public boolean reEnrollIfNecessary(User newUser)
public boolean removeIfEnrolled(java.lang.String newName)
newName
- public boolean isEnrolled(java.lang.String searchName)
public void setPlayerList(java.util.ArrayList<User> playerlist)
public boolean updateOnlineCount(int newCount)
public java.lang.String enroll(User user)
public java.lang.String unenroll(User user)
public void storeToOptionsObject(Options gameOptions, java.lang.String localPlayerName, boolean noAIs)
public boolean relevantForSaving()
public boolean isStartable()
public boolean wasAlreadyStarted()
public void markStarting(User starter)
public boolean isStarting()
public void cancelStarting()
public User getStartingUser()