Provide estimated travel time.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2473 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2003-04-27 03:53:41 +00:00
parent 3962a0fa77
commit a54e01a0fd
@@ -1,5 +1,5 @@
//
// $Id: TilePath.java,v 1.14 2003/04/17 19:21:16 mdb Exp $
// $Id: TilePath.java,v 1.15 2003/04/27 03:53:41 mdb Exp $
package com.threerings.miso.client;
@@ -10,6 +10,7 @@ import com.threerings.util.DirectionCodes;
import com.threerings.media.sprite.Sprite;
import com.threerings.media.util.LineSegmentPath;
import com.threerings.media.util.MathUtil;
import com.threerings.media.util.PathNode;
import com.threerings.media.util.Pathable;
@@ -47,6 +48,15 @@ public class TilePath extends LineSegmentPath
createPath(sprite, tiles, destx, desty);
}
/**
* Returns the estimated number of millis that we'll be traveling
* along this path.
*/
public long getEstimTravelTime ()
{
return (long)(_estimPixels / _vel);
}
// documentation inherited
public boolean tick (Pathable pable, long timestamp)
{
@@ -169,6 +179,12 @@ public class TilePath extends LineSegmentPath
*/
protected void addNode (int tx, int ty, int x, int y, int dir)
{
if (_last == null) {
_last = new Point();
} else {
_estimPixels += MathUtil.distance(_last.x, _last.y, x, y);
}
_last.setLocation(x, y);
_nodes.add(new TilePathNode(tx, ty, x, y, dir));
}
@@ -178,6 +194,12 @@ public class TilePath extends LineSegmentPath
/** The destination tile path node. */
protected TilePathNode _dest;
/** Used to compute estimated travel time. */
protected Point _last;
/** Estimated pixels traveled. */
protected int _estimPixels;
/** The scene metrics. */
protected MisoSceneMetrics _metrics;
}