//Target Finding public void OnTriggerStay(Collider other) { if (other.transform.parent.transform == PlayerManager.instance.player.transform) { Vector3 direction = other.transform.position - transform.position; float angle = Vector3.Angle(direction, transform.forward); if (angle < fieldOfViewAngle * 0.5f) { RaycastHit hitInfo; if (Physics.Raycast(transform.position + transform.up, direction.normalized, out hitInfo, curLookRadius)) { if (hitInfo.collider.gameObject.transform.parent.transform == PlayerManager.instance.player.gameObject.transform) { target = PlayerManager.instance.player.transform; FaceTarget(); } } } } else { Obtainable obj = other.transform.GetComponentInParent <Obtainable>(); if (obj != null) { if (other.transform.parent.gameObject.layer == PlayerManager.instance.player.gameObject.layer) { Vector3 direction = other.transform.position - transform.position; float angle = Vector3.Angle(direction, transform.forward); if (angle < fieldOfViewAngle * 0.5f) { RaycastHit hitInfo; if (Physics.Raycast(transform.position, direction.normalized, out hitInfo, curLookRadius)) { Debug.Log(hitInfo.collider.transform.parent.name); if (hitInfo.collider.transform.parent == obj.transform) { if (!obj.isBeingHeld()) { target = other.transform; FaceTarget(); } else { target = null; } } } } } } } }
public void OnTriggerEnter(Collider other) { Obtainable obj = other.transform.GetComponentInParent <Obtainable>(); //&& other.transform.gameObject.layer == PlayerManager.instance.player.transform.gameObject.layer if (obj != null && !obj.isBeingHeld()) { Debug.Log("Ive Been Hit"); float _damage = obj.GetPower() * .1f; TakeDamage(_damage); Invoke("TurnOffAnim", animTime); } }