public void Advance( ref Point3D p, int index )
{
if ( m_Path != null && m_Path.Success )
{
Direction[] dirs = m_Path.Directions;
if ( index >= 0 && index < dirs.Length )
{
int x = p.X, y = p.Y;
CalcMoves.Offset( dirs[index], ref x, ref y );
p.X = x;
p.Y = y;
}
}
}