Example #1
0
    public void CreateBooster(TileTypeTag boosterToCreate, IntVector2 pos, List <TileController> tilesInBooster)
    {
        if (LockedTilesCounter(tilesInBooster) == 0)
        {
            foreach (TileController tile in tilesInBooster)
            {
                tile.behaviourScript?.BehaviourForBoosterCreate(pos);
            }

            BoardCreator.singleton.CreateTile(BoardCreator.singleton.boosterPrefs[boosterToCreate], pos, TileType.BOOSTER);
            return;
        }

        DestroyTiles(tilesInBooster, false, true);
    }
Example #2
0
    private TileTypeTag[,] stringToTileTypeTagMatrix(string str)
    {
        TileTypeTag[,] arrayToReturn = new TileTypeTag[col, row];
        int counter = 0;

        string[] tempArray = str.Split(' ');
        for (int i = 0; i < col; i++)
        {
            for (int j = 0; j < row; j++)
            {
                arrayToReturn[i, j] = stringToTileTypeTag(tempArray[counter]);
                counter++;
            }
        }
        return(arrayToReturn);
    }
    List <TileController> GetTilesOfColor(TileTypeTag color)
    {
        List <TileController> listToReturn = new List <TileController>();

        listToReturn.Add(currentTile);
        for (int i = 0; i < Board.boardSize.x; i++)
        {
            for (int j = 0; j < Board.boardSize.y; j++)
            {
                TileController selectedTile = Board.allTiles[i, j];
                if (selectedTile.tileTypeTag == color)
                {
                    if (!listToReturn.Contains(selectedTile))
                    {
                        listToReturn.Add(selectedTile);
                    }
                }
            }
        }
        return(listToReturn);
    }
Example #4
0
    private List <TileController> CheckFigure(TileController tile, TileTypeTag figure, List <TileController> tiles)
    {
        foreach (var vectors in Helpers.figuresForBooster[figure])
        {
            List <IntVector2> otherTilesPos = new List <IntVector2>();
            //Гдет здесь нужно вставить чтопервая хуйня это бустер 0 0
            foreach (var pos in vectors)
            {
                otherTilesPos.Add(tile.posInArray + pos);
            }

            List <TileController> tilesInBooster = new List <TileController>();
            try
            {
                foreach (var pos in otherTilesPos)
                {
                    TileController selectedTile = Board.allTiles[pos.x, pos.y];
                    if (selectedTile.tileTypeTag == tile.tileTypeTag)
                    {
                        tilesInBooster.Add(selectedTile);
                    }
                }
            }
            catch
            {
                continue;
            }

            if (tilesInBooster.Count == vectors.Count)
            {
                return(tilesInBooster);
            }
        }

        return(null);
    }
Example #5
0
 public bool IsPartOfTask(TileType _tileType, TileTypeTag _tileTypeTag)
 {
     return(tileType == _tileType && tileTypeTag == _tileTypeTag);
 }