Example #1
0
    public void AddExperience(int amount, E_AddMoneyAction moneyAction)
    {
        if (uLink.Network.isServer == false)
        {
            throw new uLink.NetworkException("AddExperience: could be called only on server");
        }

#if !DEADZONE_CLIENT
        AddMoney((int)(amount * GameplayRewards.MoneyModificator), moneyAction);

        if (IsPremiumAccountActive)
        {
            amount = Mathf.CeilToInt(amount * GameplayRewards.PremiumAccountModificator);
        }

        int oldRank = GetPlayerRankFromExperience(PlayerData.Params.Experience + Score.Experience);

        Score.Experience += (short)amount;

        int newRank = GetPlayerRankFromExperience(PlayerData.Params.Experience + Score.Experience);

        if (oldRank != newRank)
        {
            Server.Instance.SendRankUpToClient(this);

            AddMoney(GameplayRewards.MoneyRank, E_AddMoneyAction.Rank);

            Server.Instance.ShowCombatMsgOnClient(Player, Client.E_MessageType.Rank, 0, (short)(GameplayRewards.MoneyRank));
        }
#endif
    }
Example #2
0
    void AddMoney(int money, E_AddMoneyAction moneyAction)
    {
        if (uLink.Network.isServer == false)
        {
            throw new uLink.NetworkException("AddMoney: could be called only on server");
        }

        if (IsPremiumAccountActive)
        {
            money = Mathf.CeilToInt(money * GameplayRewards.PremiumAccountModificator);
        }

        Score.Money += (short)money;
    }