12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using Sirenix.OdinInspector;
- using System;
- using System.Collections;
- namespace ChivaXR
- {
- public enum TimeType
- {
- time,
- aniFrame
- }
- [System.Serializable]
- /// <summary>
- /// 动画驱动工具组件基类
- /// </summary>
- 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();
- /// <summary>
- /// 动画被启动时执行一次
- /// </summary>
- public abstract void StartPlay(Action finishedCallBack = null);
- /// <summary>
- /// 为子类提供协程执行方法
- /// </summary>
- /// <param name="coroutine"></param>
- public void StartAniCoroutine(IEnumerator coroutine)
- {
- AnimationCoroutine.Instance.StartCoroutine(coroutine);
- }
- public virtual void OnDrawGizmos() { }
- public virtual string AnimationDescription() { return this.GetType().ToString() + "该类型动画描述暂无:"; }
- }
- }
|