private AbstractRes AddToLoad(ResName resName) { AbstractRes res = mResList.Find(r => r.Name.Equals(resName)); if (res != null) { return(res); } res = ResMgr.Instance.GetRes(resName, true); //无论该资源是否加载完成,都需要添加对该资源依赖的引用 ResName[] depends = res.GetDependencies(); if (depends != null) { for (int i = 0; i < depends.Length; i++) { AddToLoad(depends[i]); } } //add to list res.AddRef(); mResList.Add(res); if (res.State != eResState.Ready) { mWaitLoadList.AddLast(res); } return(res); }