67 lines
1.8 KiB
C#
67 lines
1.8 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Cysharp.Threading.Tasks;
|
|
using Stary.Evo;
|
|
using UnityEngine;
|
|
using YooAsset;
|
|
|
|
namespace Main
|
|
{
|
|
/// <summary>
|
|
/// 反馈手势状态
|
|
/// </summary>
|
|
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;
|
|
}
|
|
}
|
|
} |