public void FireAbility(Transform user, Transform target, BattleManager.MakeDamageText dmgText) { nextReadyTime = coolDownDuration + Time.time; coolDownTimeLeft = coolDownDuration; darkMask.enabled = true; coolDownTextDisplay.enabled = true; abilitySource.clip = ability.aSound; abilitySource.Play(); ability.TriggerAbility(user, target, dmgText); }
public override void TriggerAbility(Transform user, Transform target, BattleManager.MakeDamageText makeDmgText) { //Spawn projectile and set its caster/user to be the parent. var abilityFired = Instantiate(projectile.gameObject, target, true); //Control the spawned projectile. abilityFired.transform.position = user.position; var heading = target.position - user.position; //calculate direction abilityFired.GetComponent <Rigidbody2D>().AddForce(heading * projectileForce); //apply force in direction makeDmgText(damage, user.GetComponent <CharacterScript>(), target.GetComponent <CharacterScript>()); Debug.Log("Firing projectile ability at " + target.gameObject.name + " with force " + projectileForce); //Fired projectile has to handle what happens from here. }
void initialize(Transform user, Transform target, BattleManager.MakeDamageText makeDmgText) { _user = user; _target = target; _makeDmgText = makeDmgText; }
public void OnContact(CharacterScript turnTaker, CharacterScript target, BattleManager.MakeDamageText dmgText) { dmgText(damage, turnTaker, target); }
public abstract void TriggerAbility(Transform user, Transform target, BattleManager.MakeDamageText makeDmgText);// Transform abilityEffect,