Пример #1
0
        public void Add2Load(string ownerBundle, string assetName, Action <bool, IRes> listener = null,
                             bool lastOrder = true)
        {
            if (string.IsNullOrEmpty(ownerBundle) || string.IsNullOrEmpty(assetName))
            {
                Log.E("Res Name Or Bundle Name Is Null.");
                return;
            }

            IRes res = FindResInArray(mResArray, ownerBundle, assetName);

            if (res != null)
            {
                if (listener != null)
                {
                    AddResListenerReward(res, listener);
                    res.RegisteResListener(listener);
                }

                return;
            }

            res = ResMgr.Instance.GetRes(ownerBundle, assetName, true);

            if (res == null)
            {
                return;
            }

            if (listener != null)
            {
                AddResListenerReward(res, listener);
                res.RegisteResListener(listener);
            }

            //无论该资源是否加载完成,都需要添加对该资源依赖的引用
            string[] depends = res.GetDependResList();

            if (depends != null)
            {
                for (int i = 0; i < depends.Length; ++i)
                {
                    Add2Load(depends[i]);
                }
            }

            AddRes2Array(res, lastOrder);
        }
Пример #2
0
        public bool Add2Load(string name, Action <bool, IRes> listener = null, bool lastOrder = true)
        {
            if (string.IsNullOrEmpty(name))
            {
                Log.e("Res Name Is Null.");
                return(false);
            }

            IRes res = FindResInArray(m_ResArray, name);

            if (res != null)
            {
                if (listener != null)
                {
                    AddResListenerReward(res, listener);
                    res.RegisteResListener(listener);
                }
                return(true);
            }

            res = ResMgr.S.GetRes(name, true);

            if (res == null)
            {
                return(false);
            }

            if (listener != null)
            {
                AddResListenerReward(res, listener);
                res.RegisteResListener(listener);
            }

            //无论该资源是否加载完成,都需要添加对该资源依赖的引用
            string[] depends = res.GetDependResList();

            if (depends != null)
            {
                for (int i = 0; i < depends.Length; ++i)
                {
                    Add2Load(depends[i]);
                }
            }

            AddRes2Array(res, lastOrder);

            return(true);
        }