Progress on Ye Olde Parlor services.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@363 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2001-10-01 02:56:35 +00:00
parent 278e1f0f6e
commit 2139d4883a
10 changed files with 519 additions and 0 deletions
@@ -0,0 +1,44 @@
//
// $Id: GameConfig.java,v 1.1 2001/10/01 02:56:35 mdb Exp $
package com.threerings.parlor.data;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import com.threerings.cocktail.cher.io.Streamable;
/**
* The game config class encapsulates the configuration information for a
* particular type of game. The hierarchy of game config objects mimics
* the hierarchy of game managers and the client provides a game config
* object to the game manager at game creation time which is used to set
* the game's configuration options.
*
* <p> A game that has specific configuration needs would extend this
* class (or an appropriate subclass) adding it's configuration
* information, and also overriding {@link #writeTo} and {@link #readFrom}
* to provide code to effect the necessary serialization and
* unserialization of the added fields.
*
* <p> The implementation of the client-side of the game can either use
* the code provided for obtaining configuration parameters from the user,
* or provide its own specialized configuration interface. It need only
* produce a game config object when the configuration process is complete
* and provide that to the server along with the game creation request.
*/
public class GameConfig implements Streamable
{
// documentation inherited
public void writeTo (DataOutputStream out)
throws IOException
{
}
// documentation inherited
public void readFrom (DataInputStream in)
throws IOException
{
}
}
@@ -0,0 +1,16 @@
//
// $Id: GameManager.java,v 1.1 2001/10/01 02:56:35 mdb Exp $
package com.threerings.parlor.server;
import java.util.Properties;
import com.threerings.cocktail.party.server.PlaceManager;
import com.threerings.cocktail.party.server.PlaceRegistry;
public class GameManager extends PlaceManager
{
public void init (PlaceRegistry registry, Properties config)
{
}
}
@@ -0,0 +1,22 @@
//
// $Id: GameObject.dobj,v 1.1 2001/10/01 02:56:35 mdb Exp $
package com.threerings.parlor.data;
import com.threerings.cocktail.party.data.PlaceObject;
/**
* A game object hosts the shared data associated with a game played by
* one or more players. The game object extends the place object so that
* the game can act as a place where players actually go when playing the
* game. Only very basic information is maintained in the base game
* object. It serves as the base for a hierarchy of game object
* derivatives that handle basic gameplay for a suite of different game
* types (ie. turn based games, party games, board games, card games,
* etc.).
*/
public class GameObject extends PlaceObject
{
/** Indicates whether or not this game is rated. */
public boolean isRated;
}