From d7fb56d20383be4f34158197d95385df1e7c71a6 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Sat, 6 Oct 2001 01:36:19 +0000 Subject: [PATCH] Override willEnterPlace() and subscribe to the place object. Override didLeavePlace() and unsubscribe. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@404 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../parlor/game/GameController.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/java/com/threerings/parlor/game/GameController.java b/src/java/com/threerings/parlor/game/GameController.java index 53f19b6b4..c8920af95 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.2 2001/10/06 00:25:29 mdb Exp $ +// $Id: GameController.java,v 1.3 2001/10/06 01:36:19 mdb Exp $ package com.threerings.parlor.client; @@ -10,6 +10,7 @@ import com.samskivert.swing.Controller; import com.threerings.cocktail.cher.dobj.*; import com.threerings.cocktail.party.client.PlaceController; import com.threerings.cocktail.party.data.PlaceConfig; +import com.threerings.cocktail.party.data.PlaceObject; import com.threerings.cocktail.party.util.PartyContext; import com.threerings.parlor.Log; @@ -50,6 +51,28 @@ public abstract class GameController _config = (GameConfig)config; } + // documentation inherited + public void willEnterPlace (PlaceObject plobj) + { + super.willEnterPlace(plobj); + + // obtain a casted reference + _gobj = (GameObject)plobj; + + // and add ourselves as a subscriber + _gobj.addSubscriber(this); + } + + // documentation inherited + public void didLeavePlace (PlaceObject plobj) + { + super.willEnterPlace(plobj); + + // unsubscribe from the game object + _gobj.removeSubscriber(this); + _gobj = null; + } + /** * Handles basic game controller action events. Derived classes should * be sure to call super.handleAction for events they