示例#1
0
        //归还requester请求的全部资源
        public void ReturnAllByRequester(string requester)
        {
#if UNITY_EDITOR
            if (editorMode)
            {
                for (int i = m_cloneNodes.Count - 1; i >= 0; --i)
                {
                    var item = m_cloneNodes[i];
                    if (string.Compare(item.requester, requester, true) == 0)
                    {
                        Destroy(item.cloned);
                        m_cloneNodes.RemoveAt(i);
                    }
                }
                return;
            }
#endif

            if (string.IsNullOrEmpty(requester))
            {
                return;
            }

            AssetRequested assetRequested = null;
            if (!requesterData.TryGetValue(requester, out assetRequested))
            {
                return;
            }

            //移除后这个requester已经没有任何资源的占用了,移除
            assetRequested.ReturnAll();

            requesterData.Remove(requester);

            CancleRequest(requester);
        }