Пример #1
0
 public void SetVm(ViewModel vm)
 {
     if (vm == null || ViewModel == vm)
     {
         return;
     }
     ViewModel = vm;
     Binding.Reset();
     Res.Release();
     if (ViewModel != null)
     {
         OnVmChange();
     }
 }
Пример #2
0
        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();
            }
        }