public void EquipConsumable(RuntimeConsumable consum)
        {
            curConsumable = consum;

            UI.QuickSlot uiSlot = UI.QuickSlot.singleton;
            uiSlot.UpdateSlot(UI.QSlotType.item, consum.instance.icon);
        }
        //************Item**********************
        public void DetectItemAction()
        {
            if (onEmpty == false || usingItem || isBlocking)
            {
                return;
            }

            if (itemInput == false)
            {
                return;
            }

            if (inventoryManager.curConsumable == null)
            {
                return;
            }

            if (inventoryManager.curConsumable.itemCount < 1 && inventoryManager.curConsumable.unlimitedCount == false)
            {
                return;
            }

            RuntimeConsumable slot = inventoryManager.curConsumable;

            string targetAnim = slot.instance.targetAnim;

            audio_clip = ResourceManager.singleton.GetAudio(slot.instance.audio_id).audio_clip;
            if (string.IsNullOrEmpty(targetAnim))
            {
                return;
            }

            usingItem = true;
            anim.Play(targetAnim);
        }
        //------------------------Consumables-----------------------------------

        public RuntimeConsumable ConsumableToRuntimeConsumable(Consumable c)
        {
            GameObject        g0   = new GameObject();
            RuntimeConsumable inst = g0.AddComponent <RuntimeConsumable>();

            g0.name = c.itemName;

            inst.instance = new Consumable();
            StaticFunctions.DeepCopyConsumable(inst.instance, c);

            if (inst.instance.itemPrefab != null)
            {
                GameObject model = Instantiate(inst.instance.itemPrefab) as GameObject;
                Transform  p     = states.anim.GetBoneTransform(HumanBodyBones.RightHand);
                model.transform.parent           = p;
                model.transform.localPosition    = inst.instance.r_model_pos;
                model.transform.localEulerAngles = inst.instance.r_model_eulers;

                Vector3 targetScale = inst.instance.model_scale;
                if (targetScale == Vector3.zero)
                {
                    targetScale = Vector3.one;
                }
                model.transform.localScale = targetScale;

                inst.itemModel = model;
                inst.itemModel.SetActive(false);
            }
            r_consum.Add(inst);
            return(inst);
        }