using Sirenix.OdinInspector;
using System;
using System.Collections;
namespace ChivaXR
{
public enum TimeType
{
time,
aniFrame
}
[System.Serializable]
///
/// 动画驱动工具组件基类
///
public abstract class AnimationDriverBase : IAniState
{
[LabelText("执行序列")]
[InfoBox("$Info")]
public AnimationSequence animationSequence = AnimationSequence.synchronization;
public string Info
{
get
{
if (animationSequence == AnimationSequence.synchronization)
return "序列动画同步执行";
else
return "序列动画等待当前动画完成后执行";
}
}
public abstract void InitState();
public abstract void FinishedState();
///
/// 动画被启动时执行一次
///
public abstract void StartPlay(Action finishedCallBack = null);
///
/// 为子类提供协程执行方法
///
///
public void StartAniCoroutine(IEnumerator coroutine)
{
AnimationCoroutine.Instance.StartCoroutine(coroutine);
}
public virtual void OnDrawGizmos() { }
public virtual string AnimationDescription() { return this.GetType().ToString() + "该类型动画描述暂无:"; }
}
}