示例#1
0
        //-------∽-★-∽------∽-★-∽--------∽-★-∽资源加载∽-★-∽--------∽-★-∽------∽-★-∽--------//

        /// <summary>
        /// 同步加载
        /// </summary>
        /// <param name="refer_"></param>
        /// <param name="url_"></param>
        /// <returns></returns>
        override public Object LoadSync(string url_, object refer_)
        {
            url_ = url_.ToLower();

            AssetData data = CreateData(url_);

            data.Retain(refer_);

            if (data.asset)
            {
                return(data.asset);
            }

            Object asset = null;

            if (asset == null)
            {
                Log.Assert("x 同步加载失败: " + url_, this);
                return(null);
            }

            AddAsset(url_, asset);
            Log.Info("<color=yellow>同步加载: " + url_ + "</color>", this);
            return(asset);
        }
示例#2
0
        override public AssetData LoadAsync(string url_, CALLBACK_1 onComplete_, object refer_)
        {
            url_ = url_.ToLower();

            AssetData data = CreateData(url_);   //先创建data, 用以记录生命周期等

            data.Retain(refer_);

            //if (m_url2req.ContainsKey(url_))
            //{
            //    //加载中
            //    if (onComplete_ != null)
            //        Attach(url_, onComplete_, refer_);

            //    return data;
            //}

            if (data.asset != null)
            {
                //加载完成
                if (onComplete_ != null)
                {
                    onComplete_(data);
                }
                return(data);
            }


            //未启动加载, 至少保持一个引用
            data.Retain(this);

            if (onComplete_ != null)
            {
                Attach(url_, onComplete_, refer_);
            }

            //CCApp.StartCoroutine(__LoadAsync(url_));

            return(data);
        }