using System; using Animancer; using TH1Resource; using TMPro; using UnityEngine; using UnityEngine.UI; // 用于 Button 组件 // 自动为该物体添加一个 Button 组件,确保它总是可点击的 [RequireComponent(typeof(Button))] public class ToggleButtonController : MonoBehaviour { private bool _isOn; // 当前开关状态 //操作对象 public GameObject Handle; public AnimationClip TurnOn; public AnimationClip TurnOff; private AnimancerComponent _anim; public Action On; public Action Off; void Start() { // 1. 加载状态 // PlayerPrefs.GetInt(key, defaultValue) 如果找不到key,则返回1(ON) _isOn = true; // 2. 初始化UI状态 (无动画) // 直接将动画播放到最后一帧,瞬间完成状态切换 _anim = Handle.transform.GetComponent(); if (_anim != null) { //var state = _anim.Play(_isOn ? TurnOn : TurnOff); var state = _anim.Play(TurnOn); state.NormalizedTime = 1f; } // 3. 监听点击事件 GetComponent