コード例 #1
0
    private void ReceiverOthers(Player caller, bool showMessage)
    {
        GameSession       session = GameplayController.instance.session;
        BankingController banking = GameplayController.instance.banking;

        for (int i = 0; i < session.playerCount; i++)
        {
            Player p = session.FindPlayer(i);
            if (!p.GetName().Equals(caller.GetName()))
            {
                /*
                 * Jedynie takie płatności mają sens:
                 *  Bank => Others
                 *  Player => Others
                 * Wszystkie inne skutkowałyby przelewaniem swoich pieniędzy do siebie i pokazywaniem zbędnych komunikatów
                 */

                if (payer == MoneyActor.Player)
                {
                    banking.Pay(caller, p, amount);
                }
                else if (payer == MoneyActor.Bank)
                {
                    p.IncreaseMoney(amount);
                    ShowReceiveFromBankMessage(p);
                }
            }
        }
    }
コード例 #2
0
    private void ReceiverPlayer(Player caller, bool showMessage)
    {
        GameSession       session = GameplayController.instance.session;
        BankingController banking = GameplayController.instance.banking;

        /*
         *  Źródłem pieniędzy dla gracza mogą być jedynie Bank i Others.
         *  Nie może być nim Player, ponieważ przelałby sam sobie pieniądze.
         *  Nie mogą być nim też All, ponieważ uwzględnia to w sobie Player
         */

        if (payer == MoneyActor.Bank)
        {
            caller.IncreaseMoney(amount);
            if (showMessage)
            {
                ShowReceiveFromBankMessage(caller);
            }
        }
        else if (payer == MoneyActor.Others)
        {
            for (int i = 0; i < session.playerCount; i++)
            {
                Player p = session.FindPlayer(i);
                if (!p.GetName().Equals(caller.GetName()))
                {
                    banking.Pay(p, caller, amount);
                    ShowPayToPlayerMessage(p, caller);
                }
            }
        }
    }