void TheGame_OnPlayerAdded(Common.IPlayer player, bool isDealer) { if (InvokeRequired) { Invoke(new Game.PlayerListChangeDelegate(TheGame_OnPlayerAdded), new object[] { player, isDealer }); return; } AddPlayerToStatistics(player, isDealer); }
private void RemovePlayerFromStatistics(Common.IPlayer player) { for (int i = 0; i < _statistics.Items.Count; i++) { if (_statistics.Items[i].Text == player.Name) { _statistics.Items.RemoveAt(i); return; } } }
private void UpdatePlayerStatistics(Common.IPlayer player, int wins, int draws, int looses) { for (int i = 0; i < _statistics.Items.Count; i++) { if (_statistics.Items[i].Text == player.Name) { _statistics.Items[i].SubItems[1].Text = wins.ToString(); _statistics.Items[i].SubItems[2].Text = draws.ToString(); _statistics.Items[i].SubItems[3].Text = looses.ToString(); return; } } }
private void AddPlayerToStatistics(Common.IPlayer player, bool isDealer) { ListViewItem lvi = new ListViewItem(player.Name); lvi.SubItems.Add("0"); lvi.SubItems.Add("0"); lvi.SubItems.Add("0"); if (isDealer) { lvi.ForeColor = Color.Blue; } _statistics.Items.Add(lvi); }
public MainWindow() { InitializeComponent(); Program.TheGame.OnPlayerAdded += new Game.PlayerListChangeDelegate(TheGame_OnPlayerAdded); Program.TheGame.OnPlayerRemoved += new Game.PlayerListChangeDelegate(TheGame_OnPlayerRemoved); Program.TheGame.OnPlayerListCleared += new Game.PlayerListClearedDelegate(TheGame_OnPlayerListCleared); Program.TheGame.OnDealerChanged += new Game.DealerChangeDelegate(TheGame_OnDealerChanged); Program.TheGame.OnRoundEnd += new Game.EndOfRoundDelegate(TheGame_OnRoundEnd); Program.TheGame.OnStatusChanged += new Game.GameStatusChangeDelegate(TheGame_OnStatusChanged); try { string playersError = string.Empty; foreach (string player in Game.PlayersDirectory.Instance.LoadedPlayerAssemblies) { try { Common.IPlayer playerInstance = Game.PlayersDirectory.Instance.CreateInstanceOfPlayer(player); if (Program.TheGame.Dealer == null) { Program.TheGame.Dealer = playerInstance; } else { Program.TheGame.AddPlayer(playerInstance); } } catch { playersError += "Player: " + player + " coludnot be loaded.\n"; } } if (!string.IsNullOrEmpty(playersError)) { MessageBox.Show(playersError, "Error loading some players", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } EnableGameControls(Game.GameStatus.Stopped); InitAnimations(); }
void TheGame_OnDealerChanged(Common.IPlayer oldDealer, Common.IPlayer newDealer) { if (InvokeRequired) { Invoke(new Game.DealerChangeDelegate(TheGame_OnDealerChanged), new object[] { oldDealer, newDealer }); return; } if (oldDealer != null) { RemovePlayerFromStatistics(oldDealer); } if (newDealer != null) { AddPlayerToStatistics(newDealer, true); } }
private void _addToGameButton_Click(object sender, EventArgs e) { try { if (_playerModulesList.SelectedIndices == null) { return; } foreach (int i in _playerModulesList.SelectedIndices) { Common.IPlayer player = Game.PlayersDirectory.Instance.CreateInstanceOfPlayer(_playerModulesList.Items[i].Text); Program.TheGame.AddPlayer(player); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { RefreshPlayerList(); } }