using System.Collections; using System.Collections.Generic; using Cysharp.Threading.Tasks; using Stary.Evo; using UnityEngine; using YooAsset; namespace Main { /// /// 反馈手势状态 /// public class KKHintState : AbstractFSMIState { private string aniContinueName = "anim_ip_hint_continue"; private string aniNotyetName = "anim_ip_hint_notyet"; public KKHintState(IFsmSystem system) : base(system) { } public override UniTask OnEnterAsync() { return UniTask.CompletedTask; } public override async UniTask OnEnterAsync(object param) { KKFsmSystem kkFsmSystem = FsmSystem as KKFsmSystem; if (kkFsmSystem.animator != null) { bool isContinue = (bool)param; if (isContinue) { kkFsmSystem.animator.CrossFade(aniContinueName, 0.2f,0,0); } else { kkFsmSystem.animator.CrossFade(aniNotyetName,0.2f, 0, 0f); } float animProgress = 0; while (animProgress <= 0.99f) { Debug.Log(animProgress); animProgress=kkFsmSystem.GetAnimationProgress(0); await UniTask.Yield(); } FsmSystem.SetCurState(nameof(KKIdleState),(object)KKIdleStateParam.NotVoice); } else { Debug.LogError("UnityEvo:KKFsmSystem: animator is null"); } } public override UniTask OnExitAsync() { return UniTask.CompletedTask; } } }