From 7884435cd1703552dd8e202cf21160aa641bc69a Mon Sep 17 00:00:00 2001 From: Mike Thomas Date: Tue, 17 Aug 2010 18:38:49 +0000 Subject: [PATCH] Since rendering the sprite itself isn't good enough to trigger the scene to re-render, let's directly check whether we've updated the sprites and if any have, we'll rerender the object IsoScene git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@959 c613c5cb-e716-0410-b11b-feb51c14d237 --- src/as/com/threerings/stage/client/CharacterIsoSprite.as | 2 -- src/as/com/threerings/stage/client/CrowdStageScenePanel.as | 7 +++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/as/com/threerings/stage/client/CharacterIsoSprite.as b/src/as/com/threerings/stage/client/CharacterIsoSprite.as index ddbba7de..d432d679 100644 --- a/src/as/com/threerings/stage/client/CharacterIsoSprite.as +++ b/src/as/com/threerings/stage/client/CharacterIsoSprite.as @@ -57,8 +57,6 @@ public class CharacterIsoSprite extends IsoSprite _character = charSprite; sprites = [wrapper]; - - autoUpdate = true; } public function tick (tickStamp :int) :void diff --git a/src/as/com/threerings/stage/client/CrowdStageScenePanel.as b/src/as/com/threerings/stage/client/CrowdStageScenePanel.as index 827f1dcd..7d0d20b9 100644 --- a/src/as/com/threerings/stage/client/CrowdStageScenePanel.as +++ b/src/as/com/threerings/stage/client/CrowdStageScenePanel.as @@ -93,9 +93,16 @@ public class CrowdStageScenePanel extends StageScenePanel override public function tick (tickStamp :int) :void { super.tick(tickStamp); + var shouldRender :Boolean = false; _sprites.forEach(function (key :int, sprite :CharacterIsoSprite) :void { sprite.tick(tickStamp); + shouldRender ||= sprite.isInvalidated; }); + + // TODO - partial scene rerenders would be useful here... + if (shouldRender) { + _objScene.render(); + } } protected function updateDisplayForScene () :void