using UnityEngine;
using Mono;
using System.Collections.Generic;

namespace ET.Client
{
	[ChildOf(typeof(ModelViewComponent))]
	public class AnimatorComponent : Entity, IAwake<GameObject>, IUpdate, IDestroy
	{
        //状态指令
        public enum CommandType
        {
            Idle = 0,
            Run,
            StopRun,
            StopSkill,
            Skill0,
            Skill1,
            Skill2,
            Skill3,

            Dead
        }
        public struct Command
        {
            public CommandType Type;
            public Command(CommandType type)
            {
                this.Type = type;
            }
        }

        [StaticFieldAttribute(typeof(ET.Client.AnimatorComponent))]
        public static readonly Command CMDIdle = new Command(CommandType.Idle);
        [StaticFieldAttribute(typeof(ET.Client.AnimatorComponent))]
        public static readonly Command CMDRun = new Command(CommandType.Run);
        [StaticFieldAttribute(typeof(ET.Client.AnimatorComponent))]
        public static readonly Command CMDStopRun = new Command(CommandType.StopRun);

        //指令队列
        public List<Command> Commands = new List<Command>();

        public GameObject GameObject { get; set; }
        public AnimationData AniData;
        public AnimationData.AnimationType DoingType;
    }
}