/// <summary> /// Prepares a new Turn in game: /// Adds points if a player won last turn and clears the panel. /// </summary> /// <param name="sender"></param> /// <param name="e">Used to tell which player won last round.</param> private void NewTurnStarted(object sender, NewTurnEventArgs e) { if (e.GuesserPlayerIndex >= 0) { var newScoreGuesser = int.Parse(listBoxGameScores.Items[e.GuesserPlayerIndex].ToString()) + Variables.PointsPlayerGuess; listBoxGameScores.SynchronizedInvoke(() => listBoxGameScores.Items[e.GuesserPlayerIndex] = newScoreGuesser); var newScoreDrawer = int.Parse(listBoxGameScores.Items[e.DrawerPlayerIndex].ToString()) + Variables.PointsPlayerDraw; listBoxGameScores.SynchronizedInvoke(() => listBoxGameScores.Items[e.DrawerPlayerIndex] = newScoreDrawer); } timeLeft = Variables.RoundTime; panelGame.SynchronizedInvoke(() => graphics.Clear(Color.White)); }
/// <summary> /// Handles a NewTurnPacket. /// </summary> /// <param name="packet"></param> private void HandleNewTurn(NewTurnPacket packet) { var args = new NewTurnEventArgs(packet.GuesserPlayerIndex, packet.DrawerPlayerIndex); OnNewTurn?.Invoke(this, args); }