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); }; }; }
public AssetAsyncLoadHandle(AssetContainer container, AssetLoadProvider provider, string path) { Container = container; Provider = provider; Location = string.Intern(Provider.FormatAssetPath(path)); }