cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages
Class GameInfoShared

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfoShared
All Implemented Interfaces:
IWorldObject, ISharedWorldObject, java.lang.Cloneable
Direct Known Subclasses:
GameInfoMessage.GameInfoSharedMessage, GameInfoSharedImpl

public abstract class GameInfoShared
extends InfoMessage
implements ISharedWorldObject

Abstract definition of the shared part of the GameBots2004 message NFO.

Complete message documentation: Asynchronous message. Sent as response to READY command. Information about the game. What type of game is it going to be, number of teams, maximum size of teams etc.


Field Summary
static Token BotsPausedPropertyToken
           
static Token FragLimitPropertyToken
           
static UnrealId GameInfoId
           
static Token GamePausedPropertyToken
           
static Token GoalTeamScorePropertyToken
           
static Token MaxTeamSizePropertyToken
           
static java.util.Set<Token> SharedPropertyTokens
           
protected  long SimTime
           
static Token TimeLimitPropertyToken
           
static Token WeaponStayPropertyToken
           
 
Constructor Summary
GameInfoShared()
          Parameter-less contructor for the message.
 
Method Summary
abstract  GameInfoShared clone()
           
 java.lang.Class getCompositeClass()
           
abstract  int getFragLimit()
          Number of kills needed to win game (BotDeathMatch only).
abstract  long getGoalTeamScore()
          Number of points a team needs to win the game (BotTeamGame, BotCTFGame, BotDoubleDomination).
 UnrealId getId()
          Returns an id of the object that is unique among all world objects.
abstract  int getMaxTeamSize()
          Max number of players per side (BotTeamGame, BotCTFGame, BotDoubleDomination).
 long getSimTime()
          Returns world time when the object was seen/updated for the last time.
abstract  double getTimeLimit()
          Maximum time game will last (if tied at end may goe to "sudden death overtime" - depends on the game type).
abstract  boolean isBotsPaused()
          If the game is paused just for bots - human controlled players can normally move.
abstract  boolean isGamePaused()
          If the game is paused - nobody can move.
abstract  boolean isWeaponStay()
          If true respawned weapons will stay on the ground after picked up (but bot cannot pickup same weapon twice).
protected  void setSimTime(long SimTime)
          Used by Yylex to slip correct time of the object or programmatically.
 java.lang.String toHtmlString()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cz.cuni.amis.pogamut.multi.communication.worldview.object.ISharedWorldObject
getProperties, getProperty
 

Field Detail

GameInfoId

public static final UnrealId GameInfoId

SimTime

protected long SimTime

WeaponStayPropertyToken

public static final Token WeaponStayPropertyToken

TimeLimitPropertyToken

public static final Token TimeLimitPropertyToken

FragLimitPropertyToken

public static final Token FragLimitPropertyToken

GoalTeamScorePropertyToken

public static final Token GoalTeamScorePropertyToken

MaxTeamSizePropertyToken

public static final Token MaxTeamSizePropertyToken

GamePausedPropertyToken

public static final Token GamePausedPropertyToken

BotsPausedPropertyToken

public static final Token BotsPausedPropertyToken

SharedPropertyTokens

public static final java.util.Set<Token> SharedPropertyTokens
Constructor Detail

GameInfoShared

public GameInfoShared()
Parameter-less contructor for the message.

Method Detail

getId

public UnrealId getId()
Description copied from interface: IWorldObject
Returns an id of the object that is unique among all world objects.

Specified by:
getId in interface IWorldObject
Returns:

getSimTime

public long getSimTime()
Description copied from interface: ISharedWorldObject
Returns world time when the object was seen/updated for the last time.

The time suppose to be growing as the simulation carries on.

Always should be actual_timestamp >= any_prevously_recorded_timestamp,

object1.getLastSeenTime() > object2.getLastSeenTime() means that object1 last seen after object2

Specified by:
getSimTime in interface IWorldObject
Specified by:
getSimTime in interface ISharedWorldObject
Returns:

setSimTime

protected void setSimTime(long SimTime)
Used by Yylex to slip correct time of the object or programmatically.


clone

public abstract GameInfoShared clone()
Specified by:
clone in interface ISharedWorldObject
Overrides:
clone in class java.lang.Object

getCompositeClass

public java.lang.Class getCompositeClass()
Specified by:
getCompositeClass in interface ISharedWorldObject

isWeaponStay

public abstract boolean isWeaponStay()
If true respawned weapons will stay on the ground after picked up (but bot cannot pickup same weapon twice).


getTimeLimit

public abstract double getTimeLimit()
Maximum time game will last (if tied at end may goe to "sudden death overtime" - depends on the game type).


getFragLimit

public abstract int getFragLimit()
Number of kills needed to win game (BotDeathMatch only).


getGoalTeamScore

public abstract long getGoalTeamScore()
Number of points a team needs to win the game (BotTeamGame, BotCTFGame, BotDoubleDomination).


getMaxTeamSize

public abstract int getMaxTeamSize()
Max number of players per side (BotTeamGame, BotCTFGame, BotDoubleDomination).


isGamePaused

public abstract boolean isGamePaused()
If the game is paused - nobody can move.


isBotsPaused

public abstract boolean isBotsPaused()
If the game is paused just for bots - human controlled players can normally move.


toString

public java.lang.String toString()
Overrides:
toString in class InfoMessage

toHtmlString

public java.lang.String toHtmlString()