Пример #1
0
        internal void PreParseValues(CurrencyDefinition parent)
        {
            ParsedValues.Clear();

            foreach (var kvp in Values)
            {
                decimal unitValue;

                if (parent.GetCurrencyConverter().TryParse(kvp.Value, out unitValue))
                {
                    ParsedValues.Add(kvp.Key, unitValue);
                }
            }
        }
Пример #2
0
        protected internal override decimal OnEvaluate(CurrencyDefinition currency)        //, IRewardModifier rewardModifier = null)
        {
            var bank             = BankingPlugin.Instance.Bank;
            var playerAccountMap = bank[PlayerName];
            var votingConfig     = Config.Instance.Voting;

            if (votingConfig.Rewards.TryGetValue(currency.InternalName, out var moneyString))
            {
                if (currency.GetCurrencyConverter().TryParse(moneyString, out var value))
                {
                    value *= (decimal)currency.Multiplier;
                    return(value);
                }

                Debug.Print($"Transaction skipped. Couldn't parse '{value}' as a valid {currency.InternalName} value for {PlayerName}.");
            }

            return(0m);
        }