private void Attack() { Vector3 dir = (target.transform.position - transform.position).normalized; float distance = Vector3.Distance(target.transform.position, transform.position); float direction = Vector3.Dot(dir, transform.forward); if (distance < 3) { if (direction > 0) { Ally_Health_Tracking eh = (Ally_Health_Tracking)target.GetComponent("Ally_Health_Tracking"); eh.AddjustCurentHealth(-10); } } }
public void Explode() { foreach (Transform trans in bombables) { if (Vector3.Distance(transform.position, trans.position) <= explosionRadius) { Destroy(trans.gameObject); audio.Play(); } } foreach (Transform trans in enemys) { if (Vector3.Distance(transform.position, trans.position) <= explosionRadius) { Enemy_health_tracking eh = (Enemy_health_tracking)trans.gameObject.GetComponent("Enemy_health_tracking"); eh.AddjustCurentHealth(-damage); audio.Play(); } } foreach (Transform trans in players) { if (Vector3.Distance(transform.position, trans.position) <= explosionRadius) { Ally_Health_Tracking al = (Ally_Health_Tracking)trans.gameObject.GetComponent("Ally_Health_Tracking"); al.AddjustCurentHealth(-damage); audio.Play(); } } foreach (Transform trans in moveables) { if (Vector3.Distance(transform.position, trans.position) <= explosionRadius) { trans.rigidbody.isKinematic = false; trans.rigidbody.WakeUp( ); audio.Play(); } } bombables = new List <Transform>(); moveables = new List <Transform>(); }