Esempio n. 1
0
    //Ход игры для игроков
    public void Manage(IBoardElementController figure)
    {
        switch (figure.ElementName)
        {
        case "pawn":
            //Снимаем подсветку с выбранных
            boardManager.ResetSelected();
            //Запоминаем и подсвечиваем выбранную фигуру
            playerManager.Select(figure);
            //Вычисляем координаты куда согласно правилам может сходить фигура
            List <(int, int)> cells = figure.Rule.GetPositions(figure.X, figure.Y, playerManager.AllFiguresKeys, boardManager.Board.Size);
            //Подсвечиваем найденные координаты
            boardManager.Select(cells);
            break;

        //Клетки обычно некликабельны. Если клетка кликабельна - значит выбрана фигура и клетка доступна для перемещения на нее
        case "cell":
            //Двигаем фигуру
            playerManager.MoveFigureTo(figure.GetCoordinates());
            //Снимаем подсветку с ранее выбранных клеток
            boardManager.ResetSelected();
            //Проверям условие победы
            CheckWin();
            break;
        }
    }
Esempio n. 2
0
    public IBoardElementController BuildBoardElement(int x, int y, Transform parent)
    {
        GameObject o = Object.Instantiate(Prefab);

        o.transform.SetParent(parent, false);
        IBoardElementController bec = o.GetComponent <IBoardElementController>();

        bec.SetCoordinates((x, y));
        BESpartanCell cell = bec.GameObject.GetComponent <BESpartanCell>();

        cell.SetImages(GetCellSprites(x, y));
        return(bec);
    }
    public IBoardElementController BuildPlayerFigure(int x, int y, Transform parent, IPlayer player)
    {
        GameObject o = Object.Instantiate(Prefab);

        o.transform.SetParent(parent, false);
        IBoardElementController bec = o.GetComponent <IBoardElementController>();

        bec.SetCoordinates((x, y));

        BoardElementPawn cell = bec.GameObject.GetComponent <BoardElementPawn>();

        cell.Setup(player.Color, queen);

        return(bec);
    }
Esempio n. 4
0
    public IBoardElementController BuildPlayerFigure(int x, int y, Transform parent, IPlayer player)
    {
        GameObject o = Object.Instantiate(Prefab);

        o.transform.SetParent(parent, false);
        IBoardElementController bec = o.GetComponent <IBoardElementController>();

        bec.SetCoordinates((x, y));

        BESpartanFigure cell = bec.GameObject.GetComponent <BESpartanFigure>();

        if (player.Color == black)
        {
            cell.SetImages(blackPawn, blackPawnSelected, blackQueen, blackQueenSelected);
        }
        if (player.Color == red)
        {
            cell.SetImages(whitePawn, whitePawnSelected, whiteQueen, whiteQueenSelected);
        }

        return(bec);
    }
Esempio n. 5
0
 //Ход игры для AI
 public IEnumerator ManageAI(IBoardElementController figure, (int x, int y) cell)
Esempio n. 6
0
 private void Awake()
 {
     controller = GetComponent <IBoardElementController>();
 }
Esempio n. 7
0
 private void Manage(IBoardElementController element)
 {
     gameMode.Manage(element);
 }