Example #1
0
        public bool OnUse(IItemTarget user, IItemTarget t)
        {
            if (user is CPet)
            {
                var target = user as CPet;

                if (target.Info.Health == target.Info.MaxHealth)
                {
                    return(false);
                }

                target.Info.Heal(50);
                return(true);
            }

            return(false);
        }
    // If the player chooses to use an item on an interactable, run this.
    public void UseItemInput(Item itemUsed)
    {
        if (itemUsed != null)
        {
            // Check through the array of interactables objects. Interact with the closest one.
            int currentNearestObjectIndex = CheckNearestObjectSlot();
            // If not null, and there are nearby interactables...
            if (currentNearestObjectIndex > -1)
            {
                interactedObject = nearbyInteractables [currentNearestObjectIndex];

                // Run OnItemUse() function in all of the IItemTarget Monobehaviors attached to the interactedObject
                IItemTarget[] interactedObjectMonobehaviors = interactedObject.GetComponents <IItemTarget> ();
                foreach (IItemTarget mb in interactedObjectMonobehaviors)
                {
                    IItemTarget itemTargetInteractable = (IItemTarget)mb;
                    itemTargetInteractable.OnItemUse(itemUsed);
                }
            }
        }
    }