Пример #1
0
    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);
    }
Пример #2
0
    public void OnPlay()
    {
        Played evt = Pools.Claim <Played>();

        evt.Init(this);
        EventManager.SendEvent(evt);
    }
Пример #3
0
    //----------------------------------------------
    void StartTurn(Player player)
    {
        Player previous = CurrentPlayer;

        CurrentPlayer = player;

        NewTurnEvent evt = Pools.Claim <NewTurnEvent>();

        evt.Current  = CurrentPlayer;
        evt.Previous = previous;
        EventManager.SendEvent(evt);
    }
Пример #4
0
    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);
        }
    }
Пример #5
0
    //----------------------------------------------
    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);
    }