Пример #1
0
        private void _GUITabsCreator()
        {
            GUILayout.Space(10f);
            EditorGUILayout.LabelField("Select an animator to instantiate :", EditorStyles.boldLabel);

            GUILayout.Space(10f);
            AnimPrefabsData animPrefabsData = _FindAnimPrefabsDataInProject();

            Animator[] animPrefabs = animPrefabsData.animPrefabsArr;
            if (null != animPrefabs && animPrefabs.Length > 0)
            {
                foreach (Animator animatorPrefab in animPrefabs)
                {
                    if (GUILayout.Button(animatorPrefab.name))
                    {
                        _selectedAnimatorToCreate = animatorPrefab;
                    }
                }
            }

            if (_selectedAnimatorToCreate != null)
            {
                GUILayout.Space(30f);
                _instantiatePosition = EditorGUILayout.Vector3Field("To position : ", _instantiatePosition);

                GUILayout.Space(10f);
                if (GUILayout.Button("Create " + _selectedAnimatorToCreate))
                {
                    Instantiate(_selectedAnimatorToCreate, _instantiatePosition, new Quaternion(0f, 180f, 0f, 0f));
                }
            }
        }
Пример #2
0
 private AnimPrefabsData _FindAnimPrefabsDataInProject()
 {
     string[] fileGuidsArr = AssetDatabase.FindAssets("t: " + typeof(AnimPrefabsData)); //Trouve les assets par leur guid
     if (fileGuidsArr.Length > 0)
     {
         string assetPath = AssetDatabase.GUIDToAssetPath(fileGuidsArr[0]);
         return(AssetDatabase.LoadAssetAtPath <AnimPrefabsData>(assetPath));
     }
     else
     {
         AnimPrefabsData animPrefabsData = ScriptableObject.CreateInstance <AnimPrefabsData>();
         AssetDatabase.CreateAsset(animPrefabsData, "Assets/AnimPrefabsData.asset");
         AssetDatabase.SaveAssets();
         return(animPrefabsData);
     }
 }