private void OnCollisionEnter(Collision other) { if (parent) { parent.TakeDamage(other.gameObject.GetComponent <BulletController>().dmg *(criticalArea ? 2 : 1)); } else { parentR.TakeDamage(other.gameObject.GetComponent <BulletController>().dmg *(criticalArea ? 2 : 1)); } Destroy(other.gameObject); }
public void TryToDoMeleeDamage() { Debug.DrawRay(upperBody.position, upperBody.forward * MeleeReachForwards, Color.yellow, 200f); if (Physics.SphereCast(upperBody.position, MeleeReachWidth, upperBody.forward, out RaycastHit hit, MeleeReachForwards, LayerMask.GetMask("Enemy"))) { EnemyAIRobot robot = hit.transform.gameObject.GetComponentInParent <EnemyAIRobot>(); EnemyAI NotRobot = hit.transform.gameObject.GetComponentInParent <EnemyAI>(); if (robot != null) { robot.TakeDamage(MeleeDamage); } else if (NotRobot != null) { NotRobot.TakeDamage(MeleeDamage); } } }