diff --git a/src/java/com/threerings/miso/client/IsoSceneView.java b/src/java/com/threerings/miso/client/IsoSceneView.java index b92aa0a1e..d76bc92e1 100644 --- a/src/java/com/threerings/miso/client/IsoSceneView.java +++ b/src/java/com/threerings/miso/client/IsoSceneView.java @@ -1,5 +1,5 @@ // -// $Id: IsoSceneView.java,v 1.125 2002/11/20 22:16:54 mdb Exp $ +// $Id: IsoSceneView.java,v 1.126 2002/11/28 03:42:17 mdb Exp $ package com.threerings.miso.scene; @@ -385,10 +385,10 @@ public class IsoSceneView implements SceneView // if this is a miso character sprite, we can use its cached // tile coordinates int tx, ty; - if (sprite instanceof MisoCharacterSprite) { - MisoCharacterSprite mcs = (MisoCharacterSprite)sprite; - tx = mcs.getTileX(); - ty = mcs.getTileY(); + if (sprite instanceof IsoSprite) { + IsoSprite iso = (IsoSprite)sprite; + tx = iso.getTileX(); + ty = iso.getTileY(); } else { // otherwise we have to compute them from the screen diff --git a/src/java/com/threerings/miso/client/IsoSprite.java b/src/java/com/threerings/miso/client/IsoSprite.java new file mode 100644 index 000000000..f216b1e11 --- /dev/null +++ b/src/java/com/threerings/miso/client/IsoSprite.java @@ -0,0 +1,21 @@ +// +// $Id: IsoSprite.java,v 1.1 2002/11/28 03:42:17 mdb Exp $ + +package com.threerings.miso.scene; + +/** + * An interface implementable by sprites that know their tile coordinates + * in the isometric view. + */ +public interface IsoSprite +{ + /** + * Returns the sprite's location on the x-axis in tile coordinates. + */ + public int getTileX (); + + /** + * Returns the sprite's location on the y-axis in tile coordinates. + */ + public int getTileY (); +} diff --git a/src/java/com/threerings/miso/client/MisoCharacterSprite.java b/src/java/com/threerings/miso/client/MisoCharacterSprite.java index b17c845bd..e2fc3ab05 100644 --- a/src/java/com/threerings/miso/client/MisoCharacterSprite.java +++ b/src/java/com/threerings/miso/client/MisoCharacterSprite.java @@ -1,5 +1,5 @@ // -// $Id: MisoCharacterSprite.java,v 1.5 2002/07/08 21:41:30 mdb Exp $ +// $Id: MisoCharacterSprite.java,v 1.6 2002/11/28 03:42:17 mdb Exp $ package com.threerings.miso.scene; @@ -17,7 +17,7 @@ import com.threerings.miso.tile.BaseTile; * will itself keep the sprite coordinates properly up to date. */ public class MisoCharacterSprite extends CharacterSprite - implements Traverser + implements Traverser, IsoSprite { // documentation inherited public boolean canTraverse (BaseTile tile) @@ -26,17 +26,13 @@ public class MisoCharacterSprite extends CharacterSprite return tile.isPassable(); } - /** - * Returns the sprite's location on the x-axis in tile coordinates. - */ + // documentation inherited from interface public int getTileX () { return _tilex; } - /** - * Returns the sprite's location on the y-axis in tile coordinates. - */ + // documentation inherited from interface public int getTileY () { return _tiley;