public static void Init()
        {
            unitAnimMeshListDic      = new Dictionary <ECS_UnitAnim, List <Mesh> >();
            unitAnimDictionaryKeyDic = new Dictionary <DictionaryKey, ECS_UnitAnim>();

            foreach (ECS_UnitAnimType ecsUnitAnimType in ECS_UnitAnimType.GetUnitAnimTypeList())
            {
                foreach (UnitAnim.AnimDir animDir in System.Enum.GetValues(typeof(UnitAnim.AnimDir)))
                {
                    ECS_UnitAnim ecsUnitAnim = ecsUnitAnimType.GetUnitAnim(animDir);
                    unitAnimDictionaryKeyDic[new DictionaryKey {
                                                 ecsUnitAnimTypeEnum = ecsUnitAnimType.GetTypeEnum(),
                                                 animDir = animDir
                                             }] = ecsUnitAnim;

                    unitAnimMeshListDic[ecsUnitAnim] = new List <Mesh>();

                    int frameCount = ecsUnitAnim.GetFrameCount();

                    for (int i = 0; i < frameCount; i++)
                    {
                        Mesh mesh = ECS_Animation.CreateMesh(ecsUnitAnim, i);
                        unitAnimMeshListDic[ecsUnitAnim].Add(mesh);
                    }
                }
            }
        }
        public static void Init()
        {
            unitAnimTypeDic  = new Dictionary <TypeEnum, ECS_UnitAnimType>();
            unitAnimTypeList = new List <ECS_UnitAnimType>();

            foreach (TypeEnum typeEnum in System.Enum.GetValues(typeof(TypeEnum)))
            {
                ECS_UnitAnimType ecsUnitAnimType = ECS_Animation.ConvertVAnimToAnim(typeEnum);
                unitAnimTypeDic[typeEnum] = ecsUnitAnimType;
                unitAnimTypeList.Add(ecsUnitAnimType);
            }

            ECS_UnitAnim.Init();
        }
        public static ECS_UnitAnimType ConvertVAnimToAnim(ECS_UnitAnimType.TypeEnum typeEnum)
        {
            UnitAnimType     unitAnimType    = UnitAnimType.GetUnitAnimType(typeEnum.ToString());
            ECS_UnitAnimType ecsUnitAnimType = new ECS_UnitAnimType(
                typeEnum,
                ConvertVAnimToAnim(unitAnimType.GetUnitAnim(UnitAnim.AnimDir.Down)),
                ConvertVAnimToAnim(unitAnimType.GetUnitAnim(UnitAnim.AnimDir.Up)),
                ConvertVAnimToAnim(unitAnimType.GetUnitAnim(UnitAnim.AnimDir.Left)),
                ConvertVAnimToAnim(unitAnimType.GetUnitAnim(UnitAnim.AnimDir.Right)),
                ConvertVAnimToAnim(unitAnimType.GetUnitAnim(UnitAnim.AnimDir.DownLeft)),
                ConvertVAnimToAnim(unitAnimType.GetUnitAnim(UnitAnim.AnimDir.DownRight)),
                ConvertVAnimToAnim(unitAnimType.GetUnitAnim(UnitAnim.AnimDir.UpLeft)),
                ConvertVAnimToAnim(unitAnimType.GetUnitAnim(UnitAnim.AnimDir.UpRight))
                );

            return(ecsUnitAnimType);
        }
        public static Skeleton_Data GetSkeletonData(ECS_UnitAnimType.TypeEnum ecsUnitAnimTypeEnum, UnitAnim.AnimDir animDir, Skeleton_Anim_OnComplete onComplete)
        {
            ECS_UnitAnimType ecsUnitAnimType = ECS_UnitAnimType.Get(ecsUnitAnimTypeEnum);
            ECS_UnitAnim     ecsUnitAnim     = ecsUnitAnimType.GetUnitAnim(animDir);

            return
                (new Skeleton_Data {
                frameCount = ecsUnitAnim.GetFrameCount(),
                currentFrame = 0,
                loopCount = 0,
                frameTimer = 0f,
                frameRate = ecsUnitAnim.GetFrameRate(),
                activeUnitAnimTypeEnum = ecsUnitAnimTypeEnum,
                activeAnimDir = animDir,
                onComplete = onComplete,
            });
        }
        public static void Init()
        {
            V_Animation.Init();
            ECS_UnitAnimType.Init();


            /*
             * string[] unitAnimTypeNameArray = new string[] {
             *  "dBareHands_Idle",
             *  "dBareHands_Walk",
             *  "dZombie_Idle",
             *  "dZombie_Walk",
             *  "dMarine_Idle",
             *  "dMarine_Walk",
             *  "dMarine_Aim",
             *  "dMarine_Attack",
             * };
             *
             * foreach (string unitAnimTypeName in unitAnimTypeNameArray) {
             *  TestUnitAnimTypeConstantFrameCount(UnitAnimType.GetUnitAnimType(unitAnimTypeName));
             * }*/
        }
 public static UnitAnim.AnimDir GetAnimDir(Vector3 dir)
 {
     return(ECS_UnitAnimType.GetAnimDir(dir));
 }
 public static UnitAnim.AnimDir GetAnimDir(float3 dir)
 {
     return(ECS_UnitAnimType.GetAnimDir(dir));
 }