Type our delegate ops instead of restricting our delegates.

git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@655 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
Michael Bayne
2008-07-10 13:37:10 +00:00
parent 17ffca41e7
commit 7b945dd674
3 changed files with 27 additions and 48 deletions
@@ -248,7 +248,7 @@ public abstract class GameController extends PlaceController
setGameOver(false);
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameControllerDelegate.class) {
public void apply (PlaceControllerDelegate delegate) {
((GameControllerDelegate)delegate).gameDidStart();
}
@@ -262,7 +262,7 @@ public abstract class GameController extends PlaceController
protected void gameDidEnd ()
{
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameControllerDelegate.class) {
public void apply (PlaceControllerDelegate delegate) {
((GameControllerDelegate)delegate).gameDidEnd();
}
@@ -275,7 +275,7 @@ public abstract class GameController extends PlaceController
protected void gameWasCancelled ()
{
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameControllerDelegate.class) {
public void apply (PlaceControllerDelegate delegate) {
((GameControllerDelegate)delegate).gameWasCancelled();
}
@@ -289,23 +289,13 @@ public abstract class GameController extends PlaceController
protected void gameWillReset ()
{
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameControllerDelegate.class) {
public void apply (PlaceControllerDelegate delegate) {
((GameControllerDelegate)delegate).gameWillReset();
}
});
}
@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;
@@ -242,7 +242,7 @@ public class GameManager extends PlaceManager
playerWasReplaced(pidx, oplayer, player);
// notify our delegates
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameManagerDelegate.class) {
public void apply (PlaceManagerDelegate delegate) {
((GameManagerDelegate)delegate).playerWasReplaced(pidx, oplayer, player);
}
@@ -284,7 +284,7 @@ public class GameManager extends PlaceManager
_AIs[pidx] = ai;
// let the delegates know that the player's been made an AI
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameManagerDelegate.class) {
public void apply (PlaceManagerDelegate delegate) {
((GameManagerDelegate)delegate).setAI(pidx, ai);
}
@@ -974,7 +974,7 @@ public class GameManager extends PlaceManager
_gameobj.setSessionId(_gameobj.sessionId + 1);
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameManagerDelegate.class) {
public void apply (PlaceManagerDelegate delegate) {
((GameManagerDelegate)delegate).gameWillStart();
}
@@ -1034,7 +1034,7 @@ public class GameManager extends PlaceManager
}
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameManagerDelegate.class) {
public void apply (PlaceManagerDelegate delegate) {
((GameManagerDelegate)delegate).gameDidStart();
}
@@ -1107,7 +1107,7 @@ public class GameManager extends PlaceManager
*/
protected void tickAI (final int pidx, final GameAI ai)
{
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameManagerDelegate.class) {
public void apply (PlaceManagerDelegate delegate) {
((GameManagerDelegate) delegate).tickAI(pidx, ai);
}
@@ -1173,7 +1173,7 @@ public class GameManager extends PlaceManager
protected void gameWillEnd ()
{
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameManagerDelegate.class) {
public void apply (PlaceManagerDelegate delegate) {
((GameManagerDelegate)delegate).gameWillEnd();
}
@@ -1191,7 +1191,7 @@ public class GameManager extends PlaceManager
stopAITicker();
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameManagerDelegate.class) {
public void apply (PlaceManagerDelegate delegate) {
((GameManagerDelegate)delegate).gameDidEnd();
}
@@ -1267,7 +1267,7 @@ public class GameManager extends PlaceManager
_gameobj.setPlayerStatus(new int[getPlayerSlots()]);
// let our delegates do their business
applyToDelegates(new DelegateOp() {
applyToDelegates(new DelegateOp(GameManagerDelegate.class) {
public void apply (PlaceManagerDelegate delegate) {
((GameManagerDelegate)delegate).gameWillReset();
}
@@ -1283,15 +1283,6 @@ 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) {