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(); }
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); }