From 2ab5d2dbbe98379f925e906be966e89965b7fd35 Mon Sep 17 00:00:00 2001 From: Mike Thomas Date: Tue, 10 Aug 2010 03:42:33 +0000 Subject: [PATCH] Fix some bugs causing occupant updates to get lost. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@945 c613c5cb-e716-0410-b11b-feb51c14d237 --- .../threerings/stage/client/CrowdStageScenePanel.as | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/as/com/threerings/stage/client/CrowdStageScenePanel.as b/src/as/com/threerings/stage/client/CrowdStageScenePanel.as index b0fc9724..5e87bf45 100644 --- a/src/as/com/threerings/stage/client/CrowdStageScenePanel.as +++ b/src/as/com/threerings/stage/client/CrowdStageScenePanel.as @@ -180,8 +180,10 @@ public class CrowdStageScenePanel extends StageScenePanel // if they're within one screen diagonal of us, they're proximate var myLoc :StageLocation = StageLocation(mySceneLoc.loc); var loc :StageLocation = StageLocation(sceneLoc.loc); - var pos :Point = _isoView.isoToLocal(new Pt(loc.x, loc.y, 0)); - var myPos :Point = _isoView.isoToLocal(new Pt(myLoc.x, myLoc.y, 0)); + var pos :Point = _isoView.isoToLocal(new Pt(MisoUtil.fullToTile(loc.x), + MisoUtil.fullToTile(loc.y), 0)); + var myPos :Point = _isoView.isoToLocal(new Pt(MisoUtil.fullToTile(myLoc.x), + MisoUtil.fullToTile(myLoc.y), 0)); return int(MathUtil.distance(pos.x, pos.y, myPos.x, myPos.y)) < _proxrad; } @@ -662,7 +664,10 @@ public class CrowdStageScenePanel extends StageScenePanel protected function occupantEntryUpdated (event :EntryUpdatedEvent) :void { - occupantMoved(SceneLocation(event.getOldEntry()), SceneLocation(event.getEntry()), true); + if (event.getName() == SpotSceneObject.OCCUPANT_LOCS) { + occupantMoved(SceneLocation(event.getOldEntry()), + SceneLocation(event.getEntry()), true); + } } protected var _occupantListener :SetListener = new SetAdapter(null, occupantEntryUpdated, null);