public static void StartBets()
        {
            int placeAtTable = 0;

            LastBet = 0;

            for (int i = 0; i < Round.Players.Count; i++)
            {
                Clock.InitClock(15);

                action = PlayerAction.Wait;
                PlayerDataEventArgs args = new PlayerDataEventArgs
                {
                    Chips        = Round.Players[i].Chips,
                    PlaceAtTable = placeAtTable++,
                    LastBet      = LastBet
                };
                PokerEventsMediator.OnStartBet(null, args);

                while (action == PlayerAction.Wait)
                {
                    Thread.Sleep(10);
                }

                switch (action)
                {
                case PlayerAction.Check:
                    break;

                case PlayerAction.Bet:
                    Round.IncreasePot(PlayerBet, i);

                    LastBet = PlayerBet - LastBet;
                    if (PlayerBet > LastBet)
                    {
                        //start new betting round where index 0 = next player
                    }
                    break;

                case PlayerAction.Fold:
                    Round.Players.RemoveAt(i--);
                    break;
                }
            }

            PokerEventsMediator.OnBetsStageEnded(null, EventArgs.Empty);
            stage++;
        }
 public static void OnStartBet(object sender, PlayerDataEventArgs e)
 {
     StartBet?.Invoke(null, e);
 }
 public static void AddPlayer(object sender, PlayerDataEventArgs e)
 {
     Game.Players.Add(new Player(e.Name, e.Chips));
 }
 public static void OnAddPlayer(object sender, PlayerDataEventArgs e)
 {
     AddPlayer?.Invoke(null, e);
 }