From e320f8fca2485119b22e568a8b8619832df021a4 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Fri, 28 May 2010 01:19:42 +0000 Subject: [PATCH] That worked great for those of us with some version of the scene already cached, but what about those poor new folks? git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@917 c613c5cb-e716-0410-b11b-feb51c14d237 --- .../com/threerings/whirled/client/SceneDirector.java | 9 +++++++++ .../com/threerings/whirled/zone/client/ZoneDirector.java | 5 ++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/java/com/threerings/whirled/client/SceneDirector.java b/src/java/com/threerings/whirled/client/SceneDirector.java index c5f4c254..ef5a66ab 100644 --- a/src/java/com/threerings/whirled/client/SceneDirector.java +++ b/src/java/com/threerings/whirled/client/SceneDirector.java @@ -208,6 +208,15 @@ public class SceneDirector extends BasicDirector return _pendingModel; } + /** + * Returns the scene id set in preparation for a scene transition. As with + * {@link #getPendingModel}, this is for cooperating directors. + */ + public int getPendingSceneId () + { + return _pendingSceneId; + } + // from interface SceneService.SceneMoveListener public void moveSucceeded (int placeId, PlaceConfig config) { diff --git a/src/java/com/threerings/whirled/zone/client/ZoneDirector.java b/src/java/com/threerings/whirled/zone/client/ZoneDirector.java index 15d8ef97..3693e317 100644 --- a/src/java/com/threerings/whirled/zone/client/ZoneDirector.java +++ b/src/java/com/threerings/whirled/zone/client/ZoneDirector.java @@ -143,17 +143,16 @@ public class ZoneDirector extends BasicDirector // check the version of our cached copy of the scene to which we're requesting to move; if // we were unable to load it, assume a cached version of zero int sceneVers = 0; - int sceneId = -1; + int sceneId = _scdir.getPendingSceneId(); SceneModel pendingModel = _scdir.getPendingModel(); if (pendingModel != null) { sceneVers = pendingModel.version; - sceneId = pendingModel.sceneId; } // issue a moveTo request log.info("Issuing zoned moveTo(" + ZoneUtil.toString(_pendingZoneId) + ", " + sceneId + ", " + sceneVers + ")."); - _zservice.moveTo(_ctx.getClient(), _pendingZoneId, + sceneId, sceneVers, this); + _zservice.moveTo(_ctx.getClient(), _pendingZoneId, sceneId, sceneVers, this); } @Override