Exemplo n.º 1
0
        void IConsumer.Consume(Item item)
        {
            if (item == null)
            {
                return;
            }

            ConsumableComponent consumable = item.GetComponent <ConsumableComponent>();
            RPGStatsComponent   stats      = GetComponent <RPGStatsComponent>();

            if (consumable == null || stats == null)
            {
                return;
            }

            stats.Consume(consumable);

            if (consumable.IsSpent)
            {
                Inventory.Remove(item);
            }

            NotifyRedrawObservers(new RedrawNotification($"{Name} consumed {item.Name}, " +
                                                         $"receiving effect: [{consumable.Effect.ToString()}] for {consumable.Potency} points"));
        }
Exemplo n.º 2
0
 public void Consume(ConsumableComponent consumable)
 {
     consumable.OnConsumed(this);
     OnEffect(consumable.Effect, consumable.Potency, consumable.Duration);
 }