public void CreateSpellParticle(RuntimeSpellItems inst, bool isLeft, bool parentUnderRoot = false) { if (inst.currentParticle == null) { inst.currentParticle = Instantiate(inst.instance.particle_prefab) as GameObject; inst.p_hook = inst.currentParticle.GetComponentInChildren <ParticleHook>(); inst.p_hook.Init(); } if (!parentUnderRoot) { Transform p = states.anim.GetBoneTransform((isLeft) ? HumanBodyBones.LeftHand : HumanBodyBones.RightHand); inst.currentParticle.transform.parent = p; inst.currentParticle.transform.localRotation = Quaternion.identity; inst.currentParticle.transform.localPosition = Vector3.zero; } else { inst.currentParticle.transform.parent = transform; inst.currentParticle.transform.localRotation = Quaternion.identity; inst.currentParticle.transform.localPosition = new Vector3(0, 1.5f, 0.65f); } //inst.currentParticle.SetActive(false); }
public void EquipSpells(RuntimeSpellItems spell) { currentSpell = spell; UI.QuickSlot uiSlot = UI.QuickSlot.singleton; uiSlot.UpdateSlot(UI.QSlotType.spell, spell.instance.icon); }
public RuntimeSpellItems SpellToRuntimeSpell(Spell s, bool isLeft = false) { GameObject g0 = new GameObject(); RuntimeSpellItems inst = g0.AddComponent <RuntimeSpellItems>(); inst.instance = new Spell(); StaticFunctions.DeepCopySpell(s, inst.instance); g0.name = s.itemName; r_spells.Add(inst); return(inst); }