Ejemplo n.º 1
0
        public BaseLoadInfo ResourceLoadAsync(string path, OnLoadEnd onLoadEnd)
        {
            BaseLoadInfo loadinfo = FindLoadedImp(path);

            if (loadinfo != null)
            {
                loadinfo.AddRef();
                if (loadinfo.LoadedState == BaseLoadInfo.LoadState.Loding)
                {
                    if (onLoadEnd != null)
                    {
                        loadinfo.WaitLoadAsync(onLoadEnd);
                    }
                }
                else
                {
                    if (onLoadEnd != null)
                    {
                        onLoadEnd(loadinfo);
                    }
                }
                return(loadinfo);
            }
            return(ResourceLoadAsyncImp(path, onLoadEnd));
        }
Ejemplo n.º 2
0
 public static ResourceInfo make(BaseLoadInfo _loadInfo)
 {
     return(new ResourceInfo()
     {
         resInfo = _loadInfo, count = 1
     });
 }
Ejemplo n.º 3
0
            static public InstranceInfo make(UnityEngine.Object _obj, BaseLoadInfo loadInfo)
            {
                InstranceInfo info;

                info.obj     = _obj;
                info.resInfo = loadInfo;
                return(info);
            }
Ejemplo n.º 4
0
        private BaseLoadInfo FindLoadedImp(string path)
        {
            BaseLoadInfo info = null;

            if (resourceObjects.TryGetValue(path, out info))
            {
                return(info);
            }
            return(null);
        }
Ejemplo n.º 5
0
        public bool UnLoadResource(string path)
        {
            BaseLoadInfo info = null;

            if (!resourceObjects.TryGetValue(path, out info))
            {
                return(false);
            }

            return(UnLoadResource(info));
        }
Ejemplo n.º 6
0
        ResourceInfo RegResource(string _path, BaseLoadInfo resObj)
        {
            ResourceInfo info;

            if (!resources.TryGetValue(_path, out info))
            {
                info = ResourceInfo.make(resObj);
                resources.Add(_path, info);
            }
            else
            {
                info.AddRef();
            }
            return(info);
        }
Ejemplo n.º 7
0
        public BaseLoadInfo ResourceLoad(string path)
        {
            BaseLoadInfo loadinfo = FindLoadedImp(path);

            if (loadinfo != null)
            {
                if (loadinfo.LoadedState == BaseLoadInfo.LoadState.Loding)
                {
                    loadinfo.Load(path);
                }
                loadinfo.AddRef();

                return(loadinfo);
            }

            return(ResourceLoadImp(path));
        }
Ejemplo n.º 8
0
        public bool UnLoadResource(BaseLoadInfo info)
        {
            if (info == null)
            {
                return(false);
            }
            info.SubRef();
            if (info.NoUse)
            {
                info.UnLoad();
                resourceObjects.Remove(info.Path);

                return(true);
            }

            return(false);
        }