public void SetVm(ViewModel vm) { if (vm == null || ViewModel == vm) { return; } ViewModel = vm; Binding.Reset(); Res.Release(); if (ViewModel != null) { OnVmChange(); } }
public void ReleaseRes(string name) { if (string.IsNullOrEmpty(name)) { return; } #if UNITY_EDITOR if (AbstractRes.SimulateAssetBundleInEditor) { if (mCachedSpriteDict.ContainsKey(name)) { var sprite = mCachedSpriteDict[name]; GameObject.Destroy(sprite); mCachedSpriteDict.Remove(name); } } #endif IRes res = ResMgr.Instance.GetRes(name, false); if (res == null) { return; } if (mWaitLoadList.Remove(res)) { --mLoadingCount; if (mLoadingCount == 0) { mListener = null; } } if (mResArray.Remove(res)) { res.UnRegisteResListener(OnResLoadFinish); res.Release(); ResMgr.Instance.SetResMapDirty(); } }