Exemple #1
0
        //加载动作
        private void LoadAnimationState(bool force = true)
        {
            SkillArt skillart  = EditorDataContainer.currentskillAssetData.skillArt;
            string   modelName = "";

            modelName = skillart.modelName;
            RuntimeAnimatorController controller0 = AssetUtility.GetAnimationCtl(skillart.modelType, skillart.modelName, skillart.animationController);

            if (skillart.animationControllerObj == null && controller0 != null)
            {
                skillart.animationControllerObj = controller0;
            }
            RuntimeAnimatorController controller = skillart.animationControllerObj;// AssetUtility.GetAnimationCtl(skillart.modelType, modelName, skillart.animationController);

            if (force && controller == null)
            {
                Debug.Log("Error! Error animationController Not Found");
            }
            if (controller != null)
            {
                if (force)
                {
                    stateNamelist = new List <string>();
                    stateNamelist = MecanimAnimationUtility.GetAllStateNamesWithController(controller);
                }
                else
                {
                    if (stateNamelist == null)
                    {
                        stateNamelist = new List <string>();
                        stateNamelist = MecanimAnimationUtility.GetAllStateNamesWithController(controller);
                    }
                }
            }
            else if (stateNamelist == null)
            {
                stateNamelist = new List <string>();
            }
            else if (stateNamelist != null)
            {
                stateNamelist.Clear();
            }
        }