Пример #1
0
        // Process a move generated either over network or locally and resolve it's events
        // This function will not perform anything if the move is invalid
        public void ProcessMove(Move nextMove)
        {
            if (nextMove.Selected == OPP_CONCEDE)
            {
                PlayerTwo.Health = 0;
                return;
            }
            else if (nextMove.Selected == TURN_PASS)
            {
                SwitchTurns();
                return;
            }
            else if (nextMove.Selected == CARD_DRAW)
            {
                ActivePlayer.ManualDrawCard();
                return;
            }

            BaseCard Selected = nextMove.Selected.AsCard();
            BaseCard Targeted = nextMove.Targeted.AsCard();

            if (IsP1Turn && !Selected.IsPlayable(nextMove))
            {
                return;
            }

            this.LastMove = nextMove;
            Selected.Owner.Hand.Remove(Selected);

            Selected.Play();
            ResolveActions();
        }