Beispiel #1
0
        public ResNode Load(string path, LoadResCallBack cb) // 加载预设 程序不要在内部实例化 这个工作交给外部
        {
            path = "Assets/" + path;
            ResNode tmpNode = null;

            if (!pathResMap.ContainsKey(path))
            {
                tmpNode       = new ResNode();
                tmpNode.asset = null;
                tmpNode.path  = path;
                pathResMap.Add(path, tmpNode);
                tmpNode.AddCallBack(cb);
            }
            else
            {
                tmpNode = pathResMap[path];

                tmpNode.AddRef();
                tmpNode.AddCallBack(cb);
            }

            //将请求缓存起来
            resRequestQueue.Enqueue(tmpNode);
            return(tmpNode);
        }
Beispiel #2
0
        public void Load(string path, LoadResCallBack cb)
        {
            ResMgr mgr = Game.Instance.GetMgr(MgrDefine.RES_MANAGER) as ResMgr;

            path = "Assets/" + path;
            mgr.Load(path, (res) =>
            {
                var go = GameObject.Instantiate(res) as GameObject;

                cb(go);
            });
        }
Beispiel #3
0
 public void AddCallBack(LoadResCallBack cb)
 {
     m_callbacks.AddLast(cb);
 }