public static void Release(LuaWindow window) { if (window != null && _pool.Count <= _maxNum) { _pool.Push(window); } else { window.Dispose(); } }
//其他操作 public void Dispose() { foreach (KeyValuePair <string, Object> pair in _persistantObjects) { if (pair.Value != null) { if (pair.Value is GameObject) { UnityEngine.Object.DestroyImmediate(pair.Value, true); } else { Resources.UnloadAsset(pair.Value); } } } _persistantObjects.Clear(); foreach (var pair in _assetBundlesObj) { if (pair.Value != null) { pair.Value.Unload(true); } } _assetBundlesObj.Clear(); foreach (var pair in _cacheObjects) { if (pair.Value != null && pair.Value.obj != null) { if (pair.Value.obj is GameObject) { UnityEngine.Object.DestroyImmediate(pair.Value.obj, true); } else { Resources.UnloadAsset(pair.Value.obj); } } } _cacheObjects.Clear(); LuaWindow.Destroy(); Debug.Log("~ResourceManager was destroy!"); }