示例#1
0
    private void UpdateBoards()
    {
        board1.DoUpdate(); board2.DoUpdate();
        board1.HandleRecoveryDisplay();
        if (player2Human)
        {
            board2.HandleRecoveryDisplay();
        }
        if (usingTouchControls)
        {
            ImUsingTouchControls();
        }
        int strongerLaunch = GetLaunchConflictWinner(board1.launchInfo, board2.launchInfo);

        if (board1.launchInfo.launching && board2.launchInfo.launching && strongerLaunch > 0)
        {
            if (strongerLaunch == 1)
            {
                HandleLaunch(board1, board2, 1);
            }
            else
            {
                HandleLaunch(board2, board1, 2);
            }
        }
        else
        {
            if (board1.launchInfo.launching)
            {
                HandleLaunch(board1, board2, 1);
            }
            if (board2.launchInfo.launching)
            {
                HandleLaunch(board2, board1, 2);
            }
        }
        board1.DoShift(); board2.DoShift();
        if (specialMode)
        {
            if ((board2 as BoardWarSpecial).justGotAShield)
            {
                (board2 as BoardWarSpecial).justGotAShield = false;
                (board1 as BoardWarSpecial).AddShield();
            }
            if ((board1 as BoardWarSpecial).justGotAShield)
            {
                (board1 as BoardWarSpecial).justGotAShield = false;
                (board2 as BoardWarSpecial).AddShield();
            }
        }
        else if (PD.gameType == PersistData.GT.Campaign)
        {
            if ((board2 as BoardWarSpecial).justGotAShield)
            {
                (board2 as BoardWarSpecial).justGotAShield = false;
                (board1 as BoardWarSpecial).AddShield();
            }
        }
        board1.RefreshGraphics(); board2.RefreshGraphics();
    }