private void Initialization(string assetName, PoolPrefabInfo prefabInfo) { var objects = new Queue <GameObject>(); for (var i = 0; i < prefabInfo.PreloadAmount; i++) { var obj = GameObject.Instantiate(prefabInfo.Prefab); obj.transform.SetParent(transform); obj.SetActive(false); objects.Enqueue(obj); } _despawneds[assetName] = objects; }
public async void AddPrefab(string assetBundleName, string assetName, PoolPrefabInfo prefabInfo) { if (_prefabs.ContainsKey(assetName)) { Debug.Log("已经存在资源:" + assetName); return; } if (prefabInfo.Prefab == null) { //根据assetName,直接从ResourceManager里面加载 prefabInfo.Prefab = await GameFrameworkMode.GetModule <ResourceManager>().LoadAsset <GameObject>(assetBundleName, assetName); if (prefabInfo.Prefab == null) { Debug.Log("预设资源为null:" + assetName); return; } } _prefabs[assetName] = prefabInfo; _spawneds[assetName] = new List <GameObject>(); Initialization(assetName, prefabInfo); }
/// <summary> /// 加载预设信息 /// </summary> /// <param name="assetBundleName"></param> /// <param name="assetName"></param> /// <param name="prefabInfo"></param> public void AddPrefab(string assetBundleName, string assetName, PoolPrefabInfo prefabInfo) { _gameObjectPoolHelper.AddPrefab(assetBundleName, assetName, prefabInfo); }