private void Awake() { if (!GetComponent <AudioSource>()) { _audio = gameObject.AddComponent <AudioSource>(); } _clips = DreamerUtil.GetScriptableObject <AudioClips>(); }
public static void InitByScriptableObject() { var prefabs = DreamerUtil.GetScriptableObject <GameObjectPoolPrefabs>(); foreach (var item in prefabs.Prefabs) { var prefabType = item.prefabType.String2Enum <GameObjectPoolPrefabType>(); if (!pools.ContainsKey(prefabType)) { pools.Add(prefabType, new GameObjectPool(item.prefab)); } } }
public static void AddGameObjectPoolPrefabType(List <GameObject> gameObjectLst) { var path = AssetDataBaseManager.GetScriptPath(DreamerToolConfig.GameObjectPrefabTypeName); if (path == "") { return; } using (StreamWriter sw = new StreamWriter(new FileStream(path, FileMode.Truncate))) { StringBuilder result = new StringBuilder(); var header = "public enum GameObjectPoolPrefabType\n{"; result.Append(header); foreach (int v in Enum.GetValues(typeof(GameObjectPoolPrefabType))) { result.Append("\n\t"); string strName = Enum.GetName(typeof(GameObjectPoolPrefabType), v); var gameObj = gameObjectLst.Find(gameObject => { return(gameObject.name == strName); }); if (gameObj != null) { gameObjectLst.Remove(gameObj); } result.Append(strName); result.Append(","); } foreach (var gameObject in gameObjectLst) { result.Append("\n\t"); result.Append(gameObject.name); result.Append(","); } result.Append("\n}"); sw.Write(result.ToString()); } var prefabs = DreamerUtil.GetScriptableObject <GameObjectPoolPrefabs>(); foreach (var gameObject in gameObjectLst) { prefabs.AddGameObject(new GameObjectPoolPrefab(gameObject.name, gameObject)); } }
private static void AddToGameObjectPool() { var config = DreamerUtil.GetScriptableObject <GameObjectPoolPrefabs>(); var selectObjects = Selection.objects; List <GameObject> gameObjectList = new List <GameObject>(); foreach (var selectedobject in selectObjects) { if (selectedobject is GameObject) { gameObjectList.Add(selectedobject as GameObject); } else { Debug.Log(selectedobject.name + "不是预制体"); } } GameObjectPoolManager.AddGameObjectPoolPrefabType(gameObjectList); }