Modified startTurn() to get the player name from the _players array rather
than looking up their body object (because we don't *really* need them to be online to start their turn). Also added a sanity check to startTurn() to ensure that someone didn't booch the _turnIdx before calling it. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@506 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: TurnGameManager.java,v 1.3 2001/10/17 23:29:42 mdb Exp $
|
// $Id: TurnGameManager.java,v 1.4 2001/10/19 21:07:06 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.parlor.turn;
|
package com.threerings.parlor.turn;
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ public class TurnGameManager extends GameManager
|
|||||||
{
|
{
|
||||||
// TODO: sort out a better random number generator and make it
|
// TODO: sort out a better random number generator and make it
|
||||||
// available via the parlor services
|
// available via the parlor services
|
||||||
_turnIdx = MathUtil.random(_playerOids.length);
|
_turnIdx = MathUtil.random(_players.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -68,20 +68,19 @@ public class TurnGameManager extends GameManager
|
|||||||
*/
|
*/
|
||||||
protected void startTurn ()
|
protected void startTurn ()
|
||||||
{
|
{
|
||||||
|
// sanity check
|
||||||
|
if (_turnIdx < 0 || _turnIdx >= _players.length) {
|
||||||
|
Log.warning("startTurn() called with invalid turn index " +
|
||||||
|
"[turnIdx=" + _turnIdx + "].");
|
||||||
|
// abort, abort
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// let the derived class do their thing
|
// let the derived class do their thing
|
||||||
turnWillStart();
|
turnWillStart();
|
||||||
|
|
||||||
// and set the turn indicator accordingly
|
// and set the turn indicator accordingly
|
||||||
int boid = _playerOids[_turnIdx];
|
_turnGame.setTurnHolder(_players[_turnIdx]);
|
||||||
BodyObject body = (BodyObject)CrowdServer.omgr.getObject(boid);
|
|
||||||
if (body != null) {
|
|
||||||
_turnGame.setTurnHolder(body.username);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
Log.warning("Unable to start turn; turn holder isn't around " +
|
|
||||||
"[username=" + _players[_turnIdx] +
|
|
||||||
", boid=" + boid + "].");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -141,7 +140,7 @@ public class TurnGameManager extends GameManager
|
|||||||
protected void setNextTurnHolder ()
|
protected void setNextTurnHolder ()
|
||||||
{
|
{
|
||||||
// next!
|
// next!
|
||||||
_turnIdx = (_turnIdx + 1) % _playerOids.length;
|
_turnIdx = (_turnIdx + 1) % _players.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -164,7 +163,7 @@ public class TurnGameManager extends GameManager
|
|||||||
/** A reference to our game object. */
|
/** A reference to our game object. */
|
||||||
protected TurnGameObject _turnGame;
|
protected TurnGameObject _turnGame;
|
||||||
|
|
||||||
/** The offset into the _playerOids array of the current turn holder
|
/** The offset into the _players array of the current turn holder or
|
||||||
* or -1 if it's no one's turn. */
|
* -1 if it's no one's turn. */
|
||||||
protected int _turnIdx = -1;
|
protected int _turnIdx = -1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user