using System.Collections; using System.Collections.Generic; using UnityEngine; public class OwlController : MonoBehaviour { Animator anim; Transform player; public float startle_distance; // Start is called before the first frame update void Start() { anim = GetComponent(); var players = GameObject.FindGameObjectsWithTag("Player"); if (players?.Length > 0) { player = players[0].transform; } } // Update is called once per frame void Update() { if (player) { float dist = Vector3.Distance(player.position, transform.position); var startled = dist < startle_distance; anim.SetBool("Startled", startled); if (dist < startle_distance) { Debug.LogError($"Startled at {dist}"); } foreach (var childAnim in GetComponentsInChildren()) { childAnim.SetBool("Startled", startled); } } } }