public static void RaiseSetLifePoints(GameView gameView, PlayerStatusView playerStatusView, SetLifePointsMode mode) { if(gameView.ChangePointsAbilitationByPlayer[playerStatusView.Name]) { int? num = null; switch(mode) { case SetLifePointsMode.Add: num = playerStatusView.PlayerPoints + 1; break; case SetLifePointsMode.Subtract: num = playerStatusView.PlayerPoints - 1; break; case SetLifePointsMode.Query: num = QueryForNumber(gameView, true); if(num.HasValue) num = playerStatusView.PlayerPoints + num.Value; break; } if(num.HasValue) gameView.Controller.SetPlayerPoints(playerStatusView.Name, num.Value); } }
public void AddPlayer(string key, PlayerInfo info, bool isActive, bool handVisible) { if(InvokeRequired) Invoke(new Action<string, PlayerInfo, bool, bool>(AddPlayer), key, info, isActive, handVisible); else { try { gameStructure.Players.Add(new PlayerStructure() { PlayerKey = key, Item = info, IsActive = isActive }); PlayerView playerView = new PlayerView(); playerView.SetPlayer(key, info, isActive, handVisible); playerView.AnimateHand = SettingsManager.Settings.AnimateHand; playerView.Dock = DockStyle.Fill; if(isActive) { activePlayerKey = key; pnlGameFields.Panel2.Controls.Add(playerView); } else { pnlGameFields.Panel1Collapsed = false; TabPage page = new TabPage(); page.Name = key; page.Text = info.NickName; page.Controls.Add(playerView); page.BorderStyle = BorderStyle.None; tabControl.TabPages.Add(page); } playerViews.Add(playerView); PlayerStatusView statusView = new PlayerStatusView(); statusView.SetPlayer(key, info, isActive, handVisible); statusView.Dock = DockStyle.Fill; if(isActive) playerStatusContainer.Panel2.Controls.Add(statusView); else playerStatusContainer.Panel1.Controls.Add(statusView); } catch(Exception ex) { HandleException(ex); } } }