예제 #1
0
    public Vector3 WorldPosFromIntVec(IntVector2D vec, PlaneOrientation orientation)
    {
        float   tileSize = WorldManager.g.TileSize;
        Vector2 vector2  = vec.ToVector2();

        if (orientation == PlaneOrientation.XY)
        {
            vector2.x *= -1f;
            vector2.x -= 1f;
        }
        if (orientation == PlaneOrientation.XY)
        {
            return(ProjectionMath.ThreeDimCoordsOnPlane(vector2 * tileSize + Vector2.one * tileSize / 2f, _planeXY));
        }
        else
        {
            return(ProjectionMath.ThreeDimCoordsOnPlane(vector2 * tileSize + Vector2.one * tileSize / 2f, _planeZY));
        }
    }
예제 #2
0
 float HeuristicCostEstimate(IntVector2D startNode, IntVector2D goalNode)
 {
     return(Vector2.Distance(startNode.ToVector2(), goalNode.ToVector2()));
     // return Mathf.Abs(startNode.x - goalNode.x) + Mathf.Abs(startNode.y - goalNode.y);
 }