public void Cast(Ability ability) { movementState = MovementState.Idle; //GetComponent<Animator>().Play("RightHandCast"); GameObject abilityResult = Instantiate(Resources.Load(String.Format("Prefabs/Abilities/Forms/{0}", ability.aFormRune.formRuneType))) as GameObject; GameObject particles = Instantiate(Resources.Load(String.Format("Prefabs/Abilities/Forms/{0}_Graphic/{1}_{0}_Graphic", ability.aFormRune.formRuneType, ability.aSchoolRune.schoolRuneType))) as GameObject; particles.transform.SetParent(abilityResult.transform); WorldAbility worldAbility = abilityResult.GetComponent <WorldAbility>(); worldAbility.Construct(ability, unitID); abilityResult.transform.position = primarySpellCastLocation.position; if (worldAbility.wEffectRunes != null) { foreach (var rune in worldAbility.wEffectRunes) { if (rune.triggerTag == Rune.TriggerTag.OnCast) { rune.Effect(this, this, worldAbility); } } } }
public virtual void Effect(RootUnit target, RootUnit owner, WorldAbility worldAbility) { }
public void InitialCreation() { wA = GetComponent <WorldAbility>(); skeleton = GetComponent <Rigidbody>(); pS = GetComponentInChildren <ParticleSystem>(); }
public override void Effect(RootUnit target, RootUnit owner, WorldAbility worldAbility) { GameWorldReferenceClass.CreateWorldAbility(target, owner, worldAbility, 10); }