Added support for handling games with multiple rounds.

git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@237 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
Michael Bayne
2007-03-11 07:59:23 +00:00
parent b6c6b74d73
commit 5b77f2f95d
11 changed files with 223 additions and 99 deletions
@@ -32,48 +32,45 @@ public interface EZGameService extends InvocationService
/**
* Request to set the specified property.
*
* @param value either a byte[] if setting a non-array property
* or a property at an array index, or a byte[][] if setting
* an array property where index is -1.
* @param value either a byte[] if setting a non-array property or a property at an array
* index, or a byte[][] if setting an array property where index is -1.
*/
public void setProperty (
Client client, String propName, Object value, int index,
boolean testAndSet, Object testValue, InvocationListener listener);
public void setProperty (Client client, String propName, Object value, int index,
boolean testAndSet, Object testValue, InvocationListener listener);
/**
* Request to end the turn, possibly futzing the next turn holder unless
* -1 is specified for the nextPlayerIndex.
* Request to end the turn, possibly futzing the next turn holder unless -1 is specified for
* the nextPlayerIndex.
*/
public void endTurn (
Client client, int nextPlayerId, InvocationListener listener);
public void endTurn (Client client, int nextPlayerId, InvocationListener listener);
/**
* Request to end the game, with the specified player oids assigned
* as winners.
* Requests to end the current round. If nextRoundDelay is greater than zero, the next round
* will be started in the specified number of seconds.
*/
public void endGame (
Client client, int[] winnerOids, InvocationListener listener);
public void endRound (Client client, int nextRoundDelay, InvocationListener listener);
/**
* Request to send a private message to one other player in
* the game.
* Request to end the game, with the specified player oids assigned as winners.
*/
public void endGame (Client client, int[] winnerOids, InvocationListener listener);
/**
* Request to send a private message to one other player in the game.
*
* @param value either a byte[] if setting a non-array property
* or a property at an array index, or a byte[][] if setting
* an array property where index is -1.
* @param value either a byte[] if setting a non-array property or a property at an array
* index, or a byte[][] if setting an array property where index is -1.
*/
public void sendMessage (
Client client, String msgName, Object value, int playerId,
InvocationListener listener);
public void sendMessage (Client client, String msgName, Object value, int playerId,
InvocationListener listener);
/**
* Ask the dictionary service for a set of random letters
* appropriate for the given language/culture settings. These will be
* returned via a message back to the caller.
* Ask the dictionary service for a set of random letters appropriate for the given
* language/culture settings. These will be returned via a message back to the caller.
*
* @param client stores information about the caller
* @param locale is an RFC 3066 string specifying language settings,
* for example, "en" or "en-us".
* @param locale is an RFC 3066 string specifying language settings, for example, "en" or
* "en-us".
* @param count is the number of letters to be returned.
* @param listener is the callback function
*/
@@ -81,13 +78,12 @@ public interface EZGameService extends InvocationService
Client client, String locale, int count, ResultListener listener);
/**
* Ask the dictionary service whether the specified word is valid
* with the given language/culture settings. The result will be returned
* via a message back to the caller.
* Ask the dictionary service whether the specified word is valid with the given
* language/culture settings. The result will be returned via a message back to the caller.
*
* @param client stores information about the caller
* @param locale is an RFC 3066 string specifying language settings,
* for example, "en" or "en-us".
* @param locale is an RFC 3066 string specifying language settings, for example, "en" or
* "en-us".
* @param word is the word to be checked against the dictionary.
* @param listener is the callback function
*/
@@ -99,46 +95,39 @@ public interface EZGameService extends InvocationService
*
* @param clearExisting if true, wipe the old contents.
*/
public void addToCollection (
Client client, String collName, byte[][] data, boolean clearExisting,
InvocationListener listener);
public void addToCollection (Client client, String collName, byte[][] data,
boolean clearExisting, InvocationListener listener);
/**
* Merge the specified collection into the other.
*/
public void mergeCollection (
Client client, String srcColl, String intoColl,
InvocationListener listener);
Client client, String srcColl, String intoColl, InvocationListener listener);
/**
* Pick or deal some number of elements from the specified collection,
* and either set a property in the flash object, or delivery the
* picks to the specified player index via a game message.
* Pick or deal some number of elements from the specified collection, and either set a
* property in the flash object, or delivery the picks to the specified player index via a game
* message.
*/
public void getFromCollection (
Client client, String collName, boolean consume, int count,
String msgOrPropName, int playerId, ConfirmListener listener);
public void getFromCollection (Client client, String collName, boolean consume, int count,
String msgOrPropName, int playerId, ConfirmListener listener);
/**
* Start a ticker that will send out timestamp information at
* the interval specified.
* Start a ticker that will send out timestamp information at the interval specified.
*
* @param msOfDelay must be at least 50, or 0 may be set to halt
* and clear a previously started ticker.
* @param msOfDelay must be at least 50, or 0 may be set to halt and clear a previously started
* ticker.
*/
public void setTicker (
Client client, String tickerName, int msOfDelay,
InvocationListener listener);
Client client, String tickerName, int msOfDelay, InvocationListener listener);
/**
* Request to get the specified user's cookie.
*/
public void getCookie (
Client client, int playerId, InvocationListener listener);
public void getCookie (Client client, int playerId, InvocationListener listener);
/**
* Request to set our cookie.
*/
public void setCookie (
Client client, byte[] cookie, InvocationListener listener);
public void setCookie (Client client, byte[] cookie, InvocationListener listener);
}