//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); } } }
/// <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")); } }
/// <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; //} }
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()); } }
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(); } } }