diff --git a/src/java/com/threerings/parlor/game/client/GameController.java b/src/java/com/threerings/parlor/game/client/GameController.java index 690467c3..a543e206 100644 --- a/src/java/com/threerings/parlor/game/client/GameController.java +++ b/src/java/com/threerings/parlor/game/client/GameController.java @@ -296,6 +296,16 @@ public abstract class GameController extends PlaceController }); } + @Override // from PlaceController + protected void ratifyDelegate (PlaceControllerDelegate delegate) + { + super.ratifyDelegate(delegate); + if (!(delegate instanceof GameControllerDelegate)) { + throw new IllegalArgumentException( + "Must provide GameController with GameControllerDelegate"); + } + } + /** A reference to the active parlor context. */ protected ParlorContext _ctx; diff --git a/src/java/com/threerings/parlor/game/server/GameManager.java b/src/java/com/threerings/parlor/game/server/GameManager.java index 51648a88..c1c66498 100644 --- a/src/java/com/threerings/parlor/game/server/GameManager.java +++ b/src/java/com/threerings/parlor/game/server/GameManager.java @@ -1283,6 +1283,15 @@ public class GameManager extends PlaceManager // nothing for now } + @Override // from PlaceManager + protected void ratifyDelegate (PlaceManagerDelegate delegate) + { + super.ratifyDelegate(delegate); + if (!(delegate instanceof GameManagerDelegate)) { + throw new IllegalArgumentException("Must provide GameManager with GameManagerDelegate"); + } + } + /** Listens for game state changes. */ protected AttributeChangeListener _stateListener = new AttributeChangeListener() { public void attributeChanged (AttributeChangedEvent event) {