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); }