public void SwitchTurn() { _timer.Enabled = false; _timer.Stop(); IPlayer old_player = DiceEngine.CurrentPlayer; DiceEngine.SwitchTurnToNextPlayer(); DiceEngine.CurrentPlayerTurnScore = 0; TurnSwitched?.Invoke( this, new TurnSwitchedEventArgs(old_player, DiceEngine.CurrentPlayer) ); var all_dice = DiceEngine.AllDice; DiceEngine.DeselectAll(); DiceEngine.Reroll(all_dice); DiceRerolled?.Invoke( this, new RerollEventArgs(all_dice) ); _timer.Stop(); _timer.Start(); _timer.Enabled = true; }
public void SubmitDice(List <Die> dice) { if (dice == null || dice.Count == 0) { return; } var combos_result = DiceEngine.CalculateGainOf(dice); DiceEngine.CurrentPlayerTurnScore += combos_result.TotalScore; DiceSubmitted?.Invoke( this, new DiceSubmittedEventArgs(combos_result, DiceEngine.CurrentPlayerTurnScore) ); var to_reroll = DiceEngine.SelectedDice; DiceEngine.Reroll(to_reroll); DiceRerolled?.Invoke( this, new RerollEventArgs(to_reroll) ); IfFailureSwitchTurn(); }