Ejemplo n.º 1
0
    private static int getMovementCost(UnitSpec.UnitMove unitMovementType, TileSelect.TileMovementType tileLandType, bool isAmphibious)
    {
        if (isAmphibious &&
            unitMovementType != UnitSpec.UnitMove.Dive &&
            unitMovementType != UnitSpec.UnitMove.Float &&
            unitMovementType != UnitSpec.UnitMove.Fly &&
            unitMovementType != UnitSpec.UnitMove.Heli &&
            unitMovementType != UnitSpec.UnitMove.Sail)
        {
            switch (tileLandType)
            {
            case TileSelect.TileMovementType.DeepWater:
                return(5);

            case TileSelect.TileMovementType.ShallowWater:
                return(5);

            default:
                return(getMovementCost(unitMovementType, tileLandType));
            }
        }
        return(getMovementCost(unitMovementType, tileLandType));
    }
Ejemplo n.º 2
0
    private static int getMovementCost(UnitSpec.UnitMove unitMovementType, TileSelect.TileMovementType tileLandType)
    {
        switch (unitMovementType)
        {
        case UnitSpec.UnitMove.Fly:
            return(2);

        case UnitSpec.UnitMove.Heli:
            return(2);

        case UnitSpec.UnitMove.Dive:
            switch (tileLandType)
            {
            case TileSelect.TileMovementType.DeepWater:
                return(3);
            }
            break;

        case UnitSpec.UnitMove.Float:
            switch (tileLandType)
            {
            case TileSelect.TileMovementType.Normal:
                return(2);

            case TileSelect.TileMovementType.Sand:
                return(2);

            case TileSelect.TileMovementType.Concrete:
                return(2);

            case TileSelect.TileMovementType.Hill:
                return(3);

            case TileSelect.TileMovementType.Obstructed:
                return(5);

            case TileSelect.TileMovementType.Mountain:
                return(5);

            case TileSelect.TileMovementType.DeepWater:
                return(3);

            case TileSelect.TileMovementType.ShallowWater:
                return(3);
            }
            break;

        case UnitSpec.UnitMove.Sail:
            switch (tileLandType)
            {
            case TileSelect.TileMovementType.DeepWater:
                return(2);

            case TileSelect.TileMovementType.ShallowWater:
                return(3);
            }
            break;

        case UnitSpec.UnitMove.Thread:
            switch (tileLandType)
            {
            case TileSelect.TileMovementType.Normal:
                return(3);

            case TileSelect.TileMovementType.Sand:
                return(3);

            case TileSelect.TileMovementType.Concrete:
                return(2);

            case TileSelect.TileMovementType.Hill:
                return(10);

            case TileSelect.TileMovementType.Obstructed:
                return(6);
            }
            break;

        case UnitSpec.UnitMove.Walk:
            switch (tileLandType)
            {
            case TileSelect.TileMovementType.Normal:
                return(3);

            case TileSelect.TileMovementType.Sand:
                return(5);

            case TileSelect.TileMovementType.Concrete:
                return(2);

            case TileSelect.TileMovementType.Hill:
                return(4);

            case TileSelect.TileMovementType.Obstructed:
                return(4);

            case TileSelect.TileMovementType.Mountain:
                return(10);

            case TileSelect.TileMovementType.ShallowWater:
                return(5);
            }
            break;

        case UnitSpec.UnitMove.Wheel:
            switch (tileLandType)
            {
            case TileSelect.TileMovementType.Normal:
                return(3);

            case TileSelect.TileMovementType.Sand:
                return(4);

            case TileSelect.TileMovementType.Concrete:
                return(1);

            case TileSelect.TileMovementType.Hill:
                return(10);

            case TileSelect.TileMovementType.Obstructed:
                return(8);
            }
            break;
        }


        return(0);
    }