Example #1
0
 //Use the item
 public virtual void Use()
 {
     Container.NotifyTryUseItem(ObservedItem, this);
     //Check if the item can be used.
     if (CanUse())
     {
         //Check if there is an override item behavior on trigger.
         if ((Trigger.currentUsedTrigger as Trigger) != null && (Trigger.currentUsedTrigger as Trigger).OverrideUse(this, ObservedItem))
         {
             return;
         }
         if (Container.UseReferences)
         {
             ObservedItem.Slot.Use();
             return;
         }
         //Try to move item
         if (!MoveItem())
         {
             Debug.Log("use");
             ObservedItem.Use();
             Container.NotifyUseItem(ObservedItem, this);
         }
     }
 }
Example #2
0
 /// <summary>
 /// Use the item in slot
 /// </summary>
 public override void Use()
 {
     //Check if the item can be used.
     if (CanUse())
     {
         //Check if there is an override item behavior on trigger.
         if ((Trigger.currentUsedTrigger as Trigger) != null && (Trigger.currentUsedTrigger as Trigger).OverrideUse(this, ObservedItem))
         {
             return;
         }
         if (Container.UseReferences)
         {
             ObservedItem.Slot.Use();
             return;
         }
         //Try to move item
         if (!MoveItem())
         {
             CloseTooltip();
             ObservedItem.Use();
             Container.NotifyUseItem(ObservedItem, this);
         }
         else
         {
             CloseTooltip();
             ShowTooltip();
         }
     }
     else if (IsCooldown && !IsEmpty)
     {
         InventoryManager.Notifications.inCooldown.Show(ObservedItem.Name, (cooldownDuration - (Time.time - cooldownInitTime)).ToString("f2"));
     }
 }
Example #3
0
 /// <summary>
 /// Set the slot in cooldown
 /// </summary>
 /// <param name="duration">In seconds</param>
 public void Cooldown(float duration)
 {
     //if (!m_IsCooldown && duration > 0f)
     // {
     ObservedItem.SetCooldown(duration);
     //  cooldownDuration = cooldown;
     // cooldownInitTime = Time.time;
     // this.m_IsCooldown = true;
     //}
 }
Example #4
0
        protected IEnumerator DelayTooltip(float delay)
        {
            float time = 0.0f;

            yield return(true);

            while (time < delay)
            {
                time += Time.deltaTime;
                yield return(true);
            }
            if (InventoryManager.UI.tooltip != null && ObservedItem != null)
            {
                InventoryManager.UI.tooltip.Show(UnityTools.ColorString(ObservedItem.Name, ObservedItem.Rarity.Color), ObservedItem.Description, ObservedItem.Icon, ObservedItem.GetPropertyInfo());
            }
        }
Example #5
0
        protected IEnumerator DelayTooltip(float delay)
        {
            float time = 0.0f;

            yield return(true);

            while (time < delay)
            {
                time += Time.deltaTime;
                yield return(true);
            }
            if (InventoryManager.UI.tooltip != null && ObservedItem != null)
            {
                InventoryManager.UI.tooltip.Show(UnityTools.ColorString(ObservedItem.DisplayName, ObservedItem.Rarity.Color), ObservedItem.Description, ObservedItem.Icon, ObservedItem.GetPropertyInfo());
                if (InventoryManager.UI.sellPriceTooltip != null && ObservedItem.IsSellable && ObservedItem.SellPrice > 0)
                {
                    InventoryManager.UI.sellPriceTooltip.RemoveItems();
                    Currency currency = Instantiate(ObservedItem.SellCurrency);
                    currency.Stack = ObservedItem.SellPrice * ObservedItem.Stack;

                    InventoryManager.UI.sellPriceTooltip.StackOrAdd(currency);
                    InventoryManager.UI.sellPriceTooltip.Show();
                }
            }
        }