Let's make this work like SceneMoveHandler: if for some reason the client
has a *newer* version of the scene than the server, we assume it's an error and make them redownload the full scene. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@918 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
@@ -97,8 +97,11 @@ public class ZoneMoveHandler extends AbstractSceneMoveHandler
|
|||||||
// check to see if they need a newer version of the scene data
|
// check to see if they need a newer version of the scene data
|
||||||
ZoneService.ZoneMoveListener listener = (ZoneService.ZoneMoveListener)_listener;
|
ZoneService.ZoneMoveListener listener = (ZoneService.ZoneMoveListener)_listener;
|
||||||
SceneModel model = scmgr.getScene().getSceneModel();
|
SceneModel model = scmgr.getScene().getSceneModel();
|
||||||
|
if (_version != model.version) {
|
||||||
|
SceneUpdate[] updates = null;
|
||||||
if (_version < model.version) {
|
if (_version < model.version) {
|
||||||
SceneUpdate[] updates = scmgr.getUpdates(_version);
|
updates = scmgr.getUpdates(_version);
|
||||||
|
}
|
||||||
if (updates != null) {
|
if (updates != null) {
|
||||||
listener.moveSucceededWithUpdates(ploid, config, _summary, updates);
|
listener.moveSucceededWithUpdates(ploid, config, _summary, updates);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user