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 < range) { if (direction > 0) { Enemy_AI ea = (Enemy_AI)target.GetComponent("Enemy_AI"); Enemy_health_tracking eh = (Enemy_health_tracking)target.GetComponent("Enemy_health_tracking"); if (ea.isFollowing == false) { eh.curHealth = 0; } else { 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>(); }