You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| 
 | |
| namespace Game
 | |
| {
 | |
|     public class PrefabManager : ManagerBase<PrefabManager>
 | |
|     {
 | |
|         private const string PrefabPathRoot = "Prefab/";
 | |
|         private Dictionary<string, GameObject> _goModuleDict = new Dictionary<string, GameObject>();
 | |
| 
 | |
|         public PrefabManager()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         public override void OnCreate()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         public override void Update()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         public override void OnDestroy()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         public GameObject CreateGo(string path)
 | |
|         {
 | |
|             var pathReal = $"{PrefabPathRoot}{path}";
 | |
|             if (!_goModuleDict.ContainsKey(pathReal))
 | |
|             {
 | |
|                 var res = Resources.Load<GameObject>(pathReal);
 | |
|                 if (res is null)
 | |
|                 {
 | |
|                     Util.Print("prefab不存在:", pathReal);
 | |
|                     return null;
 | |
|                 }
 | |
| 
 | |
|                 _goModuleDict[pathReal] = res;
 | |
|             }
 | |
| 
 | |
|             return Object.Instantiate(_goModuleDict[pathReal]);
 | |
|         }
 | |
| 
 | |
|         public GameObject CreateGo(GameObject goModule)
 | |
|         {
 | |
|             return Object.Instantiate(goModule);
 | |
|         }
 | |
|     }
 | |
| } |