Example #1
0
    public void TryDropCurrentChessToGrid(ChessBoardCube chessBoardCube)
    {
        if (currentPickChess == null)
        {
            Debug.LogWarning("The player hasn't picked up any chess");
            return;
        }

        if (ChessBoard.instance.board[chessBoardCube.colNum, chessBoardCube.rowNum] != null)
        {
            Debug.LogWarning(
                $"There is already chess at the position ({chessBoardCube.colNum}, {chessBoardCube.rowNum}");
            return;
        }

        ChessBoard.instance.board[chessBoardCube.colNum, chessBoardCube.rowNum] = currentPickChess;
        ChessBoard.instance.RefreshBoard();
        currentPickChess = null;
        if (ChessBoard.instance.CheckVictoryCondition(ChessBoard.instance.board) == ChessType.White)
        {
            print("Player Win");
            GameOverText.instance.ActivateText(ChessType.White);
            return;
        }
        TurnManager.instance.currentState = TurnManager.State.PlayerPickForAI;

        TurnManager.instance.currentState = TurnManager.State.PlayerPickForAI;
    }
Example #2
0
    public bool PlayChess(Vector2Int _inputPos, ChessType _chess, GameObject _go)
    {
        GridArray[_inputPos.x, _inputPos.y] = _chess;
        ChessInfo info = new ChessInfo(_inputPos, _chess, _go);

        chessInfoStack.Push(info);
        MainGameManager.Instance.MainUIManager.SetRetractButton();
        return(CheckWineer(_inputPos, _chess));
    }
Example #3
0
    public void OnClickReady()
    {
        tp_Ready = Instantiate(GMReady);
        BtnReady.SetActive(false);
        Team             team = ChessGameManager.Instance.GetTeamMyself();
        List <ChessInfo> list = new List <ChessInfo>();

        foreach (var item in team.chess)
        {
            ChessInfo ci = new ChessInfo();
            ci.chess = (int)item.type;
            ci.pos   = item.Pos;
            list.Add(ci);
        }
        Ready ready = new Ready(list);

        NetWorkManagement.Instance.SendProtobufCmd((int)Stype.game_server, (int)Cmd.eReady, ready);
        tp_Ready.SetActive(true);
    }