using System;
using XGame.Database;

namespace FL.Battle.Components
{
    /// <summary>
    /// 动作组件接口
    /// </summary>
    public interface IAnimator
    {
        void Play(EAnimationName aniName);
        void Play(AnimationPlayArgs args);
    }

    public struct AnimationPlayArgs
    {
        public EAnimationName aniName;
        /// <summary>
        /// 攻击，技能动作默认回退动作
        /// 节省一个外部回调
        /// 可循环的动作(待机、移动等)该参数无效
        /// </summary>
        public EAnimationName fallback;
        /// <summary>
        /// 触发器的时间
        /// 单位:毫秒
        /// onTrigger不为空且该值大于零小于动作时长时有效
        /// </summary>
        public int triggerFrame;
        /// <summary>
        /// 触发器回调
        /// </summary>
        public Action onTrigger;
        public Action onCompleted;
    }
}
