soc.message
Class SOCGameOptionGetDefaults

java.lang.Object
  extended by soc.message.SOCMessage
      extended by soc.message.SOCGameOptionGetDefaults
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class SOCGameOptionGetDefaults
extends SOCMessage

Information on current defaults for new games' game options. Based on server's current values (.getIntValue(), not .defaultIntValue field). Client sends this when the user clicks the "New Game" button for the first time.

Server responds to client's GAMEOPTIONGETDEFAULTS by sending its own GAMEOPTIONGETDEFAULTS. All of server's known options are sent, except empty string-valued options. Depending on client version, server's response may include option names that the client is too old to use; the client is able to ignore them. If the client asks about such an option (by sending GAMEOPTIONINFO), the server will respond with GAMEOPTIONINFO(OTYPE_UNKNOWN).

Introduced in 1.1.07; check server version against SOCNewGameWithOptions.VERSION_FOR_NEWGAMEWITHOPTIONS before sending this message.

Robot clients don't need to know about or handle this message type, because they don't create games.

I18N: Since the client's New Game dialog will need localized strings for all SOCScenarios, v2.0.00 sends those strings before the game option default values so that the client will have them before showing the dialog. The strings are sent using SOCLocalizedStrings.

Since:
1.1.07
Author:
Jeremy D Monin <jeremy@nand.net>
See Also:
Serialized Form

Field Summary
private  java.lang.String opts
          String of the options (name-value pairs) as sent over network
private static long serialVersionUID
           
 
Fields inherited from class soc.message.SOCMessage
ACCEPTOFFER, ADMINPING, ADMINRESET, AUTHREQUEST, BANKTRADE, BCASTTEXTMSG, BOARDLAYOUT, BOARDLAYOUT2, BOARDSPECIALEDGE, BUILDREQUEST, BUYCARDREQUEST, CANCELBUILDREQUEST, CHANGEFACE, CHANNELS, CHOOSEPLAYER, CHOOSEPLAYERREQUEST, CLEAROFFER, CLEARTRADEMSG, CREATEACCOUNT, DEBUGFREEPLACE, DELETECHANNEL, DELETEGAME, DEVCARDACTION, DEVCARDCOUNT, DICERESULT, DICERESULTRESOURCES, DISCARD, DISCARDREQUEST, DISCOVERYPICK, ENDTURN, FIRSTPLAYER, GAME_NONE, GAMEMEMBERS, GAMEOPTIONGETDEFAULTS, GAMEOPTIONGETINFOS, GAMEOPTIONINFO, GAMES, GAMESERVERTEXT, GAMESTATE, GAMESTATS, GAMESWITHOPTIONS, GAMETEXTMSG, IMAROBOT, INVENTORYITEMACTION, JOIN, JOINAUTH, JOINGAME, JOINGAMEAUTH, LARGESTARMY, LASTSETTLEMENT, LEAVE, LEAVEALL, LEAVEGAME, LEGALEDGES, LOCALIZEDSTRINGS, LONGESTROAD, MAKEOFFER, MEMBERS, messageType, MONOPOLYPICK, MOVEPIECE, MOVEPIECEREQUEST, MOVEROBBER, NEWCHANNEL, NEWGAME, NEWGAMEWITHOPTIONS, NEWGAMEWITHOPTIONSREQUEST, NULLMESSAGE, PICKRESOURCES, PICKRESOURCESREQUEST, PIECEVALUE, PLAYDEVCARDREQUEST, PLAYERELEMENT, PLAYERELEMENTS, PLAYERSTATS, POTENTIALSETTLEMENTS, PUTPIECE, REJECTCONNECTION, REJECTOFFER, REMOVEPIECE, RESETBOARDAUTH, RESETBOARDREJECT, RESETBOARDREQUEST, RESETBOARDVOTE, RESETBOARDVOTEREQUEST, RESOURCECOUNT, REVEALFOGHEX, ROBOTDISMISS, ROBOTJOINGAMEREQUEST, ROLLDICE, ROLLDICEPROMPT, ROLLDICEREQUEST, SCENARIOINFO, sep, sep_char, sep2, sep2_char, SERVERPING, SETPLAYEDDEVCARD, SETSEATLOCK, SETSPECIALITEM, SETTURN, SETUPDONE, SIMPLEACTION, SIMPLEREQUEST, SITDOWN, STARTGAME, STATUSMESSAGE, SVPTEXTMSG, TEXTMSG, TIMINGPING, TURN, UPDATEROBOTPARAMS, VERSION
 
Constructor Summary
SOCGameOptionGetDefaults(java.lang.String opts)
          Create a GameOptionGetDefaults message.
 
Method Summary
 int getMinimumVersion()
          Minimum version where this message type is used.
 java.lang.String getOpts()
          Get the string of option name-value pairs sent over the network.
static SOCGameOptionGetDefaults parseDataStr(java.lang.String s)
          Parse the command String into a GameOptionGetDefaults message
 java.lang.String toCmd()
          GAMEOPTIONGETDEFAULTS [sep opts]
static java.lang.String toCmd(java.lang.String opts)
          GAMEOPTIONGETDEFAULTS [sep opts]
 java.lang.String toString()
          Simple human-readable representation, used for debug purposes.
 
Methods inherited from class soc.message.SOCMessage
arrayIntoStringBuf, enumIntoStringBuf, getClassNameShort, getMaximumVersion, getType, isSingleLineAndSafe, isSingleLineAndSafe, toMsg
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

opts

private java.lang.String opts
String of the options (name-value pairs) as sent over network

Constructor Detail

SOCGameOptionGetDefaults

public SOCGameOptionGetDefaults(java.lang.String opts)
Create a GameOptionGetDefaults message.

Parameters:
opts - the options string, or null if none (client to server). To create the string, call SOCGameOption.packOptionsToString(opts, true).
Method Detail

getOpts

public java.lang.String getOpts()
Get the string of option name-value pairs sent over the network. To turn this into a group of SOCGameOptions, call SOCGameOption.parseOptionsToMap().

Returns:
the string of options, or null if none (client to server)

toCmd

public java.lang.String toCmd()
GAMEOPTIONGETDEFAULTS [sep opts]

Specified by:
toCmd in class SOCMessage
Returns:
the command String

toCmd

public static java.lang.String toCmd(java.lang.String opts)
GAMEOPTIONGETDEFAULTS [sep opts]

Parameters:
opts - the options string, or null if none (cli->serv)
Returns:
the command string

parseDataStr

public static SOCGameOptionGetDefaults parseDataStr(java.lang.String s)
Parse the command String into a GameOptionGetDefaults message

Parameters:
s - the String to parse
Returns:
a GameOptionGetDefaults message

getMinimumVersion

public int getMinimumVersion()
Minimum version where this message type is used. GAMEOPTIONGETDEFAULTS introduced in 1.1.07 for game-options feature.

Overrides:
getMinimumVersion in class SOCMessage
Returns:
Version number, 1107 for JSettlers 1.1.07.

toString

public java.lang.String toString()
Description copied from class: SOCMessage
Simple human-readable representation, used for debug purposes.

Specified by:
toString in class SOCMessage
Returns:
a human readable form of the message