void EndRound() { m_roundScore.Reset(); for (int i = 0; i < m_pastFolds.Length; ++i) { PlayerTeam team = (PlayerTeam)i; List <Fold> folds = m_pastFolds[i]; foreach (Fold fold in folds) { m_roundScore.AddScore(team, fold.Points); fold.Deck.MoveAllCardsTo(m_deck); } } PlayerTeam winningTeam = m_roundScore.GetLeadingTeam(Bidder.Team); // TODO : Round points // TODO : Bet Score.AddScore(winningTeam, m_roundScore.GetScore(winningTeam)); // 10 de der if (LastFoldingTeam != null) { Score.AddScore((PlayerTeam)LastFoldingTeam, 10); } NewRoundEvent evt = Pools.Claim <NewRoundEvent>(); evt.Start = false; EventManager.SendEvent(evt); }
public void OnPlay() { Played evt = Pools.Claim <Played>(); evt.Init(this); EventManager.SendEvent(evt); }
//---------------------------------------------- void StartTurn(Player player) { Player previous = CurrentPlayer; CurrentPlayer = player; NewTurnEvent evt = Pools.Claim <NewTurnEvent>(); evt.Current = CurrentPlayer; evt.Previous = previous; EventManager.SendEvent(evt); }
protected void SetSelected(bool selected) { if (selected != m_isSelected) { bool isInHandArea = IsMouseInHandArea(); m_isSelected = selected; BeloteCard.Selected evt = Pools.Claim <BeloteCard.Selected>(); evt.Init(m_card, m_isSelected, isInHandArea); EventManager.SendEvent(evt); } }
//---------------------------------------------- void StartRound() { m_currentRound++; DealCards(); // TODO : Bidding round, Random Trump for now // TODO : Bidder Bidder = RoundFirstPlayer; Trump = (Card32Family)UnityEngine.Random.Range(0, Enum.GetValues(typeof(Card32Family)).Length); foreach (Player player in m_players) { player.Hand.SortByFamilyAndValue(Trump); } NewRoundEvent evt = Pools.Claim <NewRoundEvent>(); evt.Start = true; EventManager.SendEvent(evt); StartTurn(RoundFirstPlayer); }