40 lines
1.0 KiB
C#
40 lines
1.0 KiB
C#
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<Animator>();
|
|
}
|
|
|
|
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("动画正在过渡中,忽略点击");
|
|
}
|
|
}
|
|
}
|
|
|