Second pass on AS recoloring, fixed a bunch of bugs and tied to tiles/tilesets.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@936 ed5b42cb-e716-0410-a449-f6a68f950b19
This commit is contained in:
@@ -32,6 +32,7 @@ import flash.events.MouseEvent;
|
||||
|
||||
import com.threerings.crowd.client.PlaceView;
|
||||
import com.threerings.crowd.data.PlaceObject;
|
||||
import com.threerings.media.tile.Colorizer;
|
||||
import com.threerings.media.tile.NoSuchTileSetError;
|
||||
import com.threerings.media.tile.TileSet;
|
||||
import com.threerings.media.tile.TileUtil;
|
||||
@@ -166,7 +167,8 @@ public class MisoScenePanel extends Sprite
|
||||
|
||||
scene.addChild(
|
||||
new ObjectTileIsoSprite(objInfo.x, objInfo.y, objTileId,
|
||||
objTileSet.getTile(TileUtil.getTileIndex(objTileId)), _metrics));
|
||||
objTileSet.getTile(TileUtil.getTileIndex(objTileId), getColorizer(objInfo)),
|
||||
_metrics));
|
||||
}
|
||||
|
||||
time = getTimer();
|
||||
@@ -175,6 +177,15 @@ public class MisoScenePanel extends Sprite
|
||||
_isoView.addScene(scene);
|
||||
}
|
||||
|
||||
/**
|
||||
* Derived classes can override this method and provide a colorizer that will be used to
|
||||
* colorize the supplied scene object when rendering.
|
||||
*/
|
||||
protected function getColorizer (oinfo :ObjectInfo) :Colorizer
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
protected var _model :MisoSceneModel;
|
||||
|
||||
protected var _isoView :IsoView;
|
||||
|
||||
@@ -86,7 +86,7 @@ public class TileIsoSprite extends IsoDisplayObject
|
||||
image.x = -tile.getOriginX() + _metrics.tilewid *
|
||||
((tile.getBaseWidth() - tile.getBaseHeight())/2);;
|
||||
image.y = -tile.getOriginY() + _metrics.tilehei *
|
||||
(1 + (tile.getBaseWidth() + tile.getBaseHeight())/2);
|
||||
((tile.getBaseWidth() + tile.getBaseHeight())/2);
|
||||
sprite.sprites = [image];
|
||||
sprite.setSize(tile.getBaseWidth(), tile.getBaseHeight(), 1);
|
||||
addChild(sprite);
|
||||
|
||||
Reference in New Issue
Block a user