Beispiel #1
0
 public static Vector3IntRef NextTile_(TileExitDirection direction, int currentTileX, int currentTileY, int currentTileZ)
 {
     switch (direction)
     {
         case TileExitDirection.Left:
             return Vector3IntRef.Create(currentTileX - 1, currentTileY, currentTileZ);
         case TileExitDirection.Right:
             return Vector3IntRef.Create(currentTileX + 1, currentTileY, currentTileZ);
         case TileExitDirection.Up:
             return Vector3IntRef.Create(currentTileX, currentTileY - 1, currentTileZ);
         case TileExitDirection.Down:
             return Vector3IntRef.Create(currentTileX, currentTileY + 1, currentTileZ);
         default:
             return null;
     }
 }
Beispiel #2
0
    public static Vector3IntRef NextTile_(TileExitDirection direction, int currentTileX, int currentTileY, int currentTileZ)
    {
        switch (direction)
        {
        case TileExitDirection.Left:
            return(Vector3IntRef.Create(currentTileX - 1, currentTileY, currentTileZ));

        case TileExitDirection.Right:
            return(Vector3IntRef.Create(currentTileX + 1, currentTileY, currentTileZ));

        case TileExitDirection.Up:
            return(Vector3IntRef.Create(currentTileX, currentTileY - 1, currentTileZ));

        case TileExitDirection.Down:
            return(Vector3IntRef.Create(currentTileX, currentTileY + 1, currentTileZ));

        default:
            return(null);
        }
    }
Beispiel #3
0
        public static TileEnterDirection ResultEnter(TileExitDirection direction)
        {
            switch (direction)
            {
            case TileExitDirection.Up:
                return(TileEnterDirection.Down);

            case TileExitDirection.Down:
                return(TileEnterDirection.Up);

            case TileExitDirection.Left:
                return(TileEnterDirection.Right);

            case TileExitDirection.Right:
                return(TileEnterDirection.Left);

            default:
                throw new Exception();
            }
        }
Beispiel #4
0
        public static Vector3 NextTile(TileExitDirection direction, Vector3 currentTile)
        {
            switch (direction)
            {
            case TileExitDirection.Left:
                return(new Vector3(currentTile.X - 1, currentTile.Y, currentTile.Z));

            case TileExitDirection.Right:
                return(new Vector3(currentTile.X + 1, currentTile.Y, currentTile.Z));

            case TileExitDirection.Up:
                return(new Vector3(currentTile.X, currentTile.Y - 1, currentTile.Z));

            case TileExitDirection.Down:
                return(new Vector3(currentTile.X, currentTile.Y + 1, currentTile.Z));

            default:
                throw new ArgumentException("direction");
            }
        }
Beispiel #5
0
 /// <summary>
 /// TileExitDirection.Left => TileEnterDirection.Left
 /// </summary>
 /// <param name="exit"></param>
 /// <returns></returns>
 public static TileEnterDirection ToEnter(TileExitDirection exit)
 {
     switch (exit)
     {
         case TileExitDirection.Down:
             return TileEnterDirection.Down;
         case TileExitDirection.Left:
             return TileEnterDirection.Left;
         case TileExitDirection.Right:
             return TileEnterDirection.Right;
         case TileExitDirection.Up:
             return TileEnterDirection.Up;
         default:
             throw new Exception();
     }
 }
Beispiel #6
0
 public static VehicleDirection12 StraightToVehicleDirection12(TileExitDirection direction)
 {
     switch (direction)
     {
         case TileExitDirection.Up:
             return VehicleDirection12.VerticalUp;
         case TileExitDirection.Down:
             return VehicleDirection12.VerticalDown;
         case TileExitDirection.Left:
             return VehicleDirection12.HorizontalLeft;
         case TileExitDirection.Right:
             return VehicleDirection12.HorizontalRight;
         default:
             throw new Exception();
     }
 }
Beispiel #7
0
 public static TileEnterDirection ResultEnter(TileExitDirection direction)
 {
     switch (direction)
     {
         case TileExitDirection.Up:
             return TileEnterDirection.Down;
         case TileExitDirection.Down:
             return TileEnterDirection.Up;
         case TileExitDirection.Left:
             return TileEnterDirection.Right;
         case TileExitDirection.Right:
             return TileEnterDirection.Left;
         default:
             return TileEnterDirection.Down;
     }
 }
Beispiel #8
0
 public static Vector3 NextTile(TileExitDirection direction, Vector3 currentTile)
 {
     switch (direction)
     {
         case TileExitDirection.Left:
             return new Vector3(currentTile.X - 1, currentTile.Y, currentTile.Z);
         case TileExitDirection.Right:
             return new Vector3(currentTile.X + 1, currentTile.Y, currentTile.Z);
         case TileExitDirection.Up:
             return new Vector3(currentTile.X, currentTile.Y - 1, currentTile.Z);
         case TileExitDirection.Down:
             return new Vector3(currentTile.X, currentTile.Y + 1, currentTile.Z);
         default:
             throw new ArgumentException("direction");
     }
 }