コード例 #1
0
        /// <summary>
        /// Changes the game state with the given action.
        /// </summary>
        /// <param name="actionPacket">Action packet</param>
        public static void AcceptAction(ActionPacket actionPacket)
        {
            //if(!Game.Host) return;
            switch (actionPacket.Action)
            {
            case Action.StartTurn:
                Game.StartTurn();
                break;

            case Action.Roll:
                DiceController.Roll();
                break;

            case Action.EndRolling:
                DiceController.EndRolling();
                break;

            case Action.BuyCard:
                switch ((CardsForSale)actionPacket.Value)
                {
                case CardsForSale.One:
                    CardController.BuyCardOne();
                    break;

                case CardsForSale.Two:
                    CardController.BuyCardTwo();
                    break;

                case CardsForSale.Three:
                    CardController.BuyCardThree();
                    break;

                default:
                    return;
                }
                break;

            case Action.RemoveCard:
                Game.RemoveCard((Card)actionPacket.Value);
                break;

            case Action.EndTurn:
                Game.EndTurn();
                break;

            case Action.Yield:
                MonsterController.GetById(actionPacket.PlayerId).Yield();
                break;

            case Action.SaveDie:
                DiceController.SaveDie((int)actionPacket.Value);
                break;

            case Action.UnSaveDie:
                DiceController.UnSaveDie((int)actionPacket.Value);
                break;

            case Action.NoYield:
                MonsterController.GetById(actionPacket.PlayerId).CanYield = false;
                break;

            default:
                return;
            }
        }