Esempio n. 1
0
    public override void UpdateDefault()
    {
        rotation = GetCurrentRotation();

        if (Mouse.GetInstance().GetStateLMB() == Mouse.StateEnum.Click)
        {
            posGridStart = instanceMouse.GetPosGrid();
        }
        else if (Mouse.GetInstance().GetStateLMB() == Mouse.StateEnum.Hold)
        {
            roomTypeCurrent = Input.GetKey(KeyCode.Space) ? ShipGrid.Tile.RoomType.Greenhouse : ShipGrid.Tile.RoomType.Corridor;

            posGridEndOld = posGridEnd;
            posGridEnd    = instanceMouse.GetPosGrid();
            if (posGridEnd != posGridEndOld)
            {
                ClearDraggedOutTiles();
                DrawDraggedOutTiles(isTemporary: true);
            }
        }
        else if (Mouse.GetInstance().GetStateLMB() == Mouse.StateEnum.Release)
        {
            ClearDraggedOutTiles();
            DrawDraggedOutTiles(isTemporary: false);
        }
    }
    public Int2 GetAssetForTile(ShipGrid.Tile tile, Sorting sorting)
    {
        bool hasTemporarySettings = tile.HasTemporarySettings();

        ShipGrid.Tile.RoomType roomType       = tile.GetRoomType(shouldGetTemporary: hasTemporarySettings);
        TileAssetBlock         tileAssetBlock = GetTileAssetBlockForRoomType(roomType);
        Int2 posTileAssetBlock = tile.GetPosTileAssetBlock(shouldGetTemporary: hasTemporarySettings);

        return(tileAssetBlock.GetPosTexture(posTileAssetBlock, tile.GetBlockType(shouldGetTemporary: hasTemporarySettings), sorting));
    }
    public TileAssetBlock GetTileAssetBlockForRoomType(ShipGrid.Tile.RoomType roomType)
    {
        switch (roomType)
        {
        case ShipGrid.Tile.RoomType.None:
            return(None);

        case ShipGrid.Tile.RoomType.Corridor:
            return(Corridor);

        case ShipGrid.Tile.RoomType.Greenhouse:
            return(Greenhouse);

        default:
            Debug.LogError(roomType + " hasn't been properly implemented yet!");
            return(null);
        }
    }