public virtual void OnRecycle() { TypePoolManager.RecycleElements(Options); }
public override void OnRecycle() { base.OnRecycle(); TypePoolManager.RecycleElements(Sources); }
private void Awake() { if (!CreateSingleton()) { return; } else { if (this.poolTypeManagerDictionary == null) { this.poolTypeManagerDictionary = new Dictionary <string, TypePoolManager>(); } if (this.poolTypeManagerDictionary.Count == 0) { for (int i = 0; i < this.poolPrefabList.Count; i++) { PoolPrefab prefabToAdd = this.poolPrefabList[i]; if (prefabToAdd != null && prefabToAdd.prefab != null && !string.IsNullOrEmpty(prefabToAdd.type)) { if (!this.poolTypeManagerDictionary.ContainsKey(prefabToAdd.type)) { TypePoolManager poolManager = new TypePoolManager() { poolPrefabToUse = prefabToAdd, typeName = prefabToAdd.type }; this.poolTypeManagerDictionary.Add(prefabToAdd.type, poolManager); this.activePoolManagers.Add(poolManager); } } } } if (this.networkedPoolTypeManagerDictionary == null) { this.networkedPoolTypeManagerDictionary = new Dictionary <NetworkHash128, TypePoolManager>(); } if (this.networkedPoolTypeManagerDictionary.Count == 0) { for (int i = 0; i < this.poolNetworkPrefabList.Count; i++) { PoolPrefab prefabToAdd = this.poolNetworkPrefabList[i]; if (prefabToAdd != null && prefabToAdd.prefab != null) { NetworkIdentity networkIdentity = prefabToAdd.prefab.GetComponent <NetworkIdentity>(); if (networkIdentity != null) { NetworkHash128 assetId = networkIdentity.assetId; if (!this.networkedPoolTypeManagerDictionary.ContainsKey(assetId)) { TypePoolManager poolManager = new TypePoolManager() { poolPrefabToUse = prefabToAdd, }; this.networkedPoolTypeManagerDictionary.Add(assetId, poolManager); this.activePoolManagers.Add(poolManager); ClientScene.RegisterSpawnHandler(assetId, GetNetworkedPooledObject, ReturnNetworkedObjectToPool); } } } } } } }