public void CreateSpellParticle(RuntimeSpellItems instSpell, bool isLeftHand, bool parentUnderRoot = false)
        {
            if (instSpell.currentParticle == null)
            {
                instSpell.currentParticle = Instantiate(instSpell.Instance.particle_prefab) as GameObject;
                instSpell.particleHook    = instSpell.currentParticle.GetComponentInChildren <ParticleHook>();
                instSpell.particleHook.Init();
            }

            if (!parentUnderRoot)
            {
                Transform parent = states.animator.GetBoneTransform((isLeftHand) ? HumanBodyBones.LeftHand : HumanBodyBones.RightHand);
                instSpell.currentParticle.transform.parent        = parent;
                instSpell.currentParticle.transform.localRotation = Quaternion.identity;
                instSpell.currentParticle.transform.localPosition = Vector3.zero;
            }
            else
            {
                instSpell.currentParticle.transform.parent        = transform;
                instSpell.currentParticle.transform.localRotation = Quaternion.identity;
                instSpell.currentParticle.transform.localPosition = new Vector3(0, 1.5f, 0.8f);
            }

            //instSpell.currentParticle.SetActive(false);
        }
        public void EquipSpell(RuntimeSpellItems spell)
        {
            currentSpell = spell;

            Item i = ResourcesManager.Instance.GetItem(spell.Instance.item_id, Itemtype.Spell);

            quickSlotManager.UpdateSlot(QSlotType.spell, i.itemIcon);
        }
        public RuntimeSpellItems SpellToRuntimeSpell(Spell spell, bool isLeftHand = false)
        {
            GameObject go = new GameObject();

            go.transform.parent = referencesParent.transform;

            RuntimeSpellItems instSpell = go.AddComponent <RuntimeSpellItems>();

            instSpell.Instance = new Spell();
            StaticFunctions.DeepCopySpell(spell, instSpell.Instance);
            go.name = spell.item_id;


            runtime_Spells.Add(instSpell);

            return(instSpell);
        }