Break out the scene manager's method for handling moving to the default portal so that subclasses can override.

git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@582 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
Mike Thomas
2008-04-19 00:23:07 +00:00
parent 4a7cc53a88
commit de194d5392
@@ -63,18 +63,26 @@ public class SpotSceneManager extends SceneManager
return; return;
} }
SpotScene scene = (SpotScene)mgr.getScene(); mgr.moveToDefaultPortal (body);
}
/**
* Move the specified body to the default portal, if possible.
*/
protected void moveToDefaultPortal (BodyObject body)
{
SpotScene scene = (SpotScene)getScene();
if (scene == null) { if (scene == null) {
Log.warning("No scene in moveBodyToDefaultPortal()? [who=" + body.who() + Log.warning("No scene in moveBodyToDefaultPortal()? [who=" + body.who() +
", where=" + mgr.where() + "]."); ", where=" + where() + "].");
return; return;
} }
try { try {
Location eloc = scene.getDefaultEntrance().getLocation(); Location eloc = scene.getDefaultEntrance().getLocation();
mgr.handleChangeLoc(body, eloc); handleChangeLoc(body, eloc);
} catch (InvocationException ie) { } catch (InvocationException ie) {
Log.warning("Could not move user to default portal [where=" + mgr.where() + Log.warning("Could not move user to default portal [where=" + where() +
", who=" + body.who() + ", error=" + ie + "]."); ", who=" + body.who() + ", error=" + ie + "].");
} }
} }