Beispiel #1
0
        public void GetAsset <T>(string _name, Action <T> _callBack) where T : UnityEngine.Object
        {
            string assetName;

            if (getAssetPathDelegate != null)
            {
                string tmpName = getAssetPathDelegate(_name, typeof(T));

                if (!string.IsNullOrEmpty(tmpName))
                {
                    assetName = tmpName;
                }
                else
                {
                    assetName = _name;
                }
            }
            else
            {
                assetName = _name;
            }

#if USE_ASSETBUNDLE
            IAssetManagerUnit unit;

            if (!dic.TryGetValue(assetName, out unit))
            {
                unit = new AssetManagerUnit <T>(assetName);

                dic.Add(assetName, unit);
            }

            (unit as AssetManagerUnit <T>).Load(_callBack);
#else
            T data = AssetDatabase.LoadAssetAtPath <T>(assetName);

            _callBack(data);
#endif
        }
Beispiel #2
0
        public T GetAsset <T> (string _name, Action <T, string> _callBack) where T : UnityEngine.Object
        {
#if USE_ASSETBUNDLE
            AssetManagerUnit <T> unit;

            if (!dic.ContainsKey(_name))
            {
                unit = new AssetManagerUnit <T> (_name);

                dic.Add(_name, unit);
            }
            else
            {
                unit = dic [_name] as AssetManagerUnit <T>;
            }

            unit.Load(_callBack);

            return(null);
#else
            string msg;

            T data = AssetDatabase.LoadAssetAtPath <T> (_name);

            if (data == null)
            {
                msg = "Resource load fail:" + _name;
            }
            else
            {
                msg = string.Empty;
            }

            _callBack(data, msg);

            return(data);
#endif
        }