From 6c9c3d82f06fa599428768e890112da704fdea18 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Fri, 20 Sep 2002 04:53:42 +0000 Subject: [PATCH] Changed service field to gameService; added code to clear out game service registration when game goes away. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1726 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../threerings/parlor/game/GameController.java | 4 ++-- .../com/threerings/parlor/game/GameManager.java | 13 +++++++++++-- .../com/threerings/parlor/game/GameObject.dobj | 4 ++-- .../com/threerings/parlor/game/GameObject.java | 16 ++++++++-------- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/java/com/threerings/parlor/game/GameController.java b/src/java/com/threerings/parlor/game/GameController.java index 51dc864bb..164308b56 100644 --- a/src/java/com/threerings/parlor/game/GameController.java +++ b/src/java/com/threerings/parlor/game/GameController.java @@ -1,5 +1,5 @@ // -// $Id: GameController.java,v 1.19 2002/09/18 19:26:05 mdb Exp $ +// $Id: GameController.java,v 1.20 2002/09/20 04:53:42 mdb Exp $ package com.threerings.parlor.game; @@ -77,7 +77,7 @@ public abstract class GameController extends PlaceController _ctx.getClient().getInvoker().invokeLater(new Runnable() { public void run () { // finally let the game manager know that we're ready to roll - _gobj.service.playerReady(_ctx.getClient()); + _gobj.gameService.playerReady(_ctx.getClient()); } }); } diff --git a/src/java/com/threerings/parlor/game/GameManager.java b/src/java/com/threerings/parlor/game/GameManager.java index 994f080d5..d31e1f535 100644 --- a/src/java/com/threerings/parlor/game/GameManager.java +++ b/src/java/com/threerings/parlor/game/GameManager.java @@ -1,5 +1,5 @@ // -// $Id: GameManager.java,v 1.42 2002/09/20 02:30:11 ray Exp $ +// $Id: GameManager.java,v 1.43 2002/09/20 04:53:42 mdb Exp $ package com.threerings.parlor.game; @@ -296,7 +296,7 @@ public class GameManager extends PlaceManager // create and fill in our game service object GameMarshaller service = (GameMarshaller) _invmgr.registerDispatcher(new GameDispatcher(this), false); - _gameobj.setService(service); + _gameobj.setGameService(service); // let the players of this game know that we're ready to roll (if // we have a specific set of players) @@ -319,6 +319,15 @@ public class GameManager extends PlaceManager } } + // documentation inherited + protected void didShutdown () + { + super.didShutdown(); + + // clear out our service registration + _invmgr.clearDispatcher(_gameobj.gameService); + } + // documentation inherited protected void bodyLeft (int bodyOid) { diff --git a/src/java/com/threerings/parlor/game/GameObject.dobj b/src/java/com/threerings/parlor/game/GameObject.dobj index e11f95db9..ed4e3dd29 100644 --- a/src/java/com/threerings/parlor/game/GameObject.dobj +++ b/src/java/com/threerings/parlor/game/GameObject.dobj @@ -1,5 +1,5 @@ // -// $Id: GameObject.dobj,v 1.13 2002/09/18 18:33:20 mdb Exp $ +// $Id: GameObject.dobj,v 1.14 2002/09/20 04:53:42 mdb Exp $ package com.threerings.parlor.game; @@ -34,7 +34,7 @@ public class GameObject extends PlaceObject public static final int CANCELLED = 3; /** Provides general game invocation services. */ - public GameMarshaller service; + public GameMarshaller gameService; /** The game state, one of {@link #AWAITING_PLAYERS}, {@link #IN_PLAY}, * {@link #GAME_OVER}, or {@link #CANCELLED}. */ diff --git a/src/java/com/threerings/parlor/game/GameObject.java b/src/java/com/threerings/parlor/game/GameObject.java index 0b1018f2a..07b336c10 100644 --- a/src/java/com/threerings/parlor/game/GameObject.java +++ b/src/java/com/threerings/parlor/game/GameObject.java @@ -1,5 +1,5 @@ // -// $Id: GameObject.java,v 1.8 2002/09/18 18:33:20 mdb Exp $ +// $Id: GameObject.java,v 1.9 2002/09/20 04:53:42 mdb Exp $ package com.threerings.parlor.game; @@ -20,8 +20,8 @@ import com.threerings.crowd.data.PlaceObject; */ public class GameObject extends PlaceObject { - /** The field name of the service field. */ - public static final String SERVICE = "service"; + /** The field name of the gameService field. */ + public static final String GAME_SERVICE = "gameService"; /** The field name of the state field. */ public static final String STATE = "state"; @@ -49,7 +49,7 @@ public class GameObject extends PlaceObject public static final int CANCELLED = 3; /** Provides general game invocation services. */ - public GameMarshaller service; + public GameMarshaller gameService; /** The game state, one of {@link #AWAITING_PLAYERS}, {@link #IN_PLAY}, * {@link #GAME_OVER}, or {@link #CANCELLED}. */ @@ -84,17 +84,17 @@ public class GameObject extends PlaceObject } /** - * Requests that the service field be set to the specified + * Requests that the gameService field be set to the specified * value. The local value will be updated immediately and an event * will be propagated through the system to notify all listeners that * the attribute did change. Proxied copies of this object (on * clients) will apply the value change when they received the * attribute changed notification. */ - public void setService (GameMarshaller service) + public void setGameService (GameMarshaller gameService) { - this.service = service; - requestAttributeChange(SERVICE, service); + this.gameService = gameService; + requestAttributeChange(GAME_SERVICE, gameService); } /**