using CG.UTility;
using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
/*******************************************************************************
*Create By CG
*Function
*******************************************************************************/
namespace ZXK.GYJQR
{
public class PlayStepAnmBase : Step_0
{
public PlayStepAnmBase(AZBS itemAttr) : base(itemAttr) { }
///
/// 执行路径位移的逻辑
///
public virtual void OnExcutePathMove()
{
}
///
/// 动画控制方法
///
/// 动画控制器物体名字
/// 当前需要播放的动画片段名字
/// 当前动画播放序列
/// 播放完成响应事件
protected void PlayAnmCtrl(string AnmCtrlName, string anmClipName, int index,Action? startCall ,Action clipFinishCall)
{
PathManager pm = outLineParts[0].GetComponent() ? outLineParts[0].GetComponent() : outLineParts[0].AddComponent();
pm.onMouseDown = new UnityEngine.Events.UnityEvent();
pm.onMouseDown.AddListener(() =>
{
if (StepManager.Instance.CurStep == this)
{
if (!CG.UTility.PopUpMng._TriAble) return;
GameObject AnmCtrlGeo = ModelManager.Instance.SeekAZBSPart(AnmCtrlName);
// AnmCtrlGeo.GetComponent().SetInteger("StepIndex", index);
// StartCoroutine(OnDelay(4.5f, clipFinishCall));
AnimatorEventCtr.Instance.Play(anmClipName, AnmCtrlGeo.GetComponent(), index, startCall,
//结束事件
() =>
{
clipFinishCall();
}
);
}
});
}
}
}