コード例 #1
0
        public bool SpendConsumable(Consumable consumable, int amount, string source = "")
        {
            if (CheckBalance(consumable, amount) >= 0)
            {
                GetConsumable(consumable).Amount -= amount;

                HandleStats(consumable, -amount, source);
                //event
                if (OnConsumableStateChanged != null)
                {
                    OnConsumableStateChanged.Invoke(consumable);
                }

                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
        public ConsumableEntry AddConsumable(Consumable consumable, int amount, string source = "")
        {
            ConsumableEntry consumableEntry = GetConsumable(consumable);

            if (consumableEntry == null)
            {
                consumableEntry    = new ConsumableEntry();
                consumableEntry.Id = consumable.Name;
                Consumables.Add(consumableEntry);
            }

            consumableEntry.Amount += amount;

            HandleStats(consumable, amount, source);

            //event
            if (OnConsumableStateChanged != null)
            {
                OnConsumableStateChanged.Invoke(consumable);
            }

            return(consumableEntry);
        }