Ejemplo n.º 1
0
        public void Initialize()
        {
#if UNITY_EDITOR
            if (m_forceAssetBundleMode)
            {
                m_provider = new AssetBundleLoadProvider();
            }
            else
            {
                m_provider = new ResourcesLoadProvider();
            }
#else
            m_provider = new AssetBundleLoadProvider();
#endif

            m_provider.Initialize();
            m_stopwatch = new Stopwatch();

            var poolGO = new GameObject("Pool");
            Object.DontDestroyOnLoad(poolGO);
            poolGO.SetActive(false);
            PoolRootNode = poolGO.transform;

            SpriteAtlasManager.atlasRequested += (atlasName, callback) => {
                Debug.LogWarning("Request Atlas : " + atlasName);
                var handle = LoadAsync("Assets/SpriteAtlas/" + atlasName, typeof(SpriteAtlas));
                handle.OnComplete += loadHandle => {
                    var reference = loadHandle.Result;
                    var atlas     = reference.GetObject() as SpriteAtlas;
                    if (atlas == null)
                    {
                        Debug.LogError($"Load Asset is : {reference.Asset.UnityObject.GetType()}");
                        reference.Dispose();
                        return;
                    }
                    callback(atlas);
                };
            };
        }
Ejemplo n.º 2
0
 public AssetAsyncLoadHandle(AssetContainer container, AssetLoadProvider provider, string path)
 {
     Container = container;
     Provider  = provider;
     Location  = string.Intern(Provider.FormatAssetPath(path));
 }