Esempio n. 1
0
            public override void OnResponse(RelayInfo info)
            {
                PlayerMobile from = User;
                int          id   = info.ButtonID;

                if (id == 0)
                {
                    return;
                }

                RollOrder old = Board.RollOrder;

                if (info.IsSwitched(1) && old != RollOrder.AsIs)
                {
                    Board.RollOrder = RollOrder.AsIs;
                }
                else if (info.IsSwitched(2) && old != RollOrder.Random)
                {
                    Board.RollOrder = RollOrder.Random;
                }
                else if (info.IsSwitched(3) && old != RollOrder.Roll)
                {
                    Board.RollOrder = RollOrder.Roll;
                }

                if (old != Board.RollOrder)
                {
                    YahtzeeGame.SendMessage(from, String.Format("Roll order has been changed to: {0}", Board.GetRollOrder()));
                    Board.InvalidateProperties();
                }

                int playerCount = Board.PlayerCount;

                for (int i = 1; i <= YahtzeeGame.MaxPlayers; i++)
                {
                    if (info.IsSwitched(i + 3) && playerCount != i)
                    {
                        Board.PlayerCount = i;
                        break;
                    }
                }

                if (playerCount != Board.PlayerCount)
                {
                    YahtzeeGame.SendMessage(User, String.Format("Amount of players have been changed: {0}", Board.PlayerCount.ToString()));
                    Board.InvalidateProperties();
                }

                Refresh();
            }
Esempio n. 2
0
        public YahtzeeGame(List <Mobile> list, YahtzeeBoard board, RollOrder order = RollOrder.AsIs)
        {
            Board     = board;
            RollOrder = order;

            Players = new List <PlayerEntry>();

            list.ForEach(m => Players.Add(new PlayerEntry(m as PlayerMobile, this)));

            TurnIndex = 0;
            RollIndex = 0;

            Games.Add(this);
        }