using UnityEngine; public class ParentClickHandler : MonoBehaviour { public Animator animator; public string turnONtriggerName = "turnON"; public string turnOFFtriggerName = "turnOFF"; //public GameObject torrent; void Start() { if (animator == null) animator = GetComponent(); } public void OnChildClicked(GameObject child) { AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); // 如果当前是 open 状态,就触发关闭 if (stateInfo.IsName("open")) { animator.SetTrigger(turnOFFtriggerName); //torrent.SetActive(false); } // 如果当前是 closed 状态,就触发开启 else if (stateInfo.IsName("close")) { animator.SetTrigger(turnONtriggerName); //torrent.SetActive(true); } // 如果正在过渡,就不触发,避免重复 else if (animator.IsInTransition(0)) { Debug.Log("动画正在过渡中,忽略点击"); } } }