private void OnTriggerEnter(Collider other) { if (other.tag == "Fox") { state = chickenState.toDelete; } }
void OnTriggerExit2D(Collider2D other) { Debug.Log("triggerd"); if (other.gameObject.name == "Henhouse") { Debug.Log("exited"); state = chickenState.Returning; } }
void OnTriggerEnter2D(Collider2D other) { if (state == chickenState.Returning && other.gameObject.name == "Henhouse") state = chickenState.inHenhouse; }
// Update is called once per frame void Update() { targetDirection = (target - transform.position); if (targetDirection.magnitude > skidDistance) { targetDirection.Normalize(); transform.LookAt(target); } else if (targetDirection.magnitude < skidDistance && targetDirection.magnitude > onTargetTolerance + 0.1) { transform.LookAt(target); state = chickenState.inLocation; } else if (targetDirection.magnitude < onTargetTolerance) { transform.LookAt(Camera.main.transform.position); state = chickenState.inLocation; } // over a key RaycastHit[] hitObjects; hitObjects = Physics.RaycastAll(transform.position + new Vector3(0, 1, 0), Vector3.down); if (hitObjects.Length != 0) { foreach (RaycastHit hit in hitObjects) { if (hit.collider.gameObject.tag == "Key") { if (hit.collider.gameObject.GetComponent <KeyControl>().justPressed == true) { if (onGround) { Jump(); } jumping = true; } else { jumping = false; } } if (hit.collider.tag == "Fox") { if (onGround == false) { overFox = true; } } } } // on a key RaycastHit[] hitObjects2; hitObjects2 = Physics.RaycastAll(transform.position + new Vector3(0, 0, 0), Vector3.down, 0.1f); if (hitObjects2.Length != 0) { foreach (RaycastHit hit in hitObjects2) { if (hit.collider.gameObject.tag == "Key") { onGround = true; if (overFox) { overFox = false; // GameManager.Instance.JumpedOverFox(); } } } } //if (other.tag == "Key") //{ // if (other.GetComponent<KeyControl>().justPressed == true) // { // Jump(); // } //} //targetDirection = targetDirection.y >= 0 ? targetDirection : new Vector3(targetDirection.x, 0, targetDirection.z); transform.rotation = Quaternion.Euler(0, transform.rotation.eulerAngles.y, 0); // fix rotation to only y }
// Start is called before the first frame update void Start() { rb = GetComponent <Rigidbody>(); state = chickenState.runningToChord; }