public static IEnumerator Unload() { if (isReady) { isReady = false; s_instance = null; DisposePool(ref s_companionCharacterPool); DisposePool(ref s_summoningCharacterPool); DisposePool(ref s_objectMechanismCharacterPool); DisposePool(ref s_floorMechanismCharacterPool); DisposePool(ref s_animatedObjectEffectPool); DisposePool(ref s_timelineAssetEffectPool); DisposePool(ref s_valueChangedFeedbackPool); s_valueChangedFeedbackCountPerTransform.Clear(); AssetBundleUnloadRequest unloadRequest = AssetManager.UnloadAssetBundle("core/factories/fight_object_factory"); while (!unloadRequest.get_isDone()) { yield return(null); } } }
public static IEnumerator Load() { if (isReady) { Log.Error("Load called while the fight object factory is already ready.", 61, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\FightObjectFactory.cs"); yield break; } AssetBundleLoadRequest bundleRequest = AssetManager.LoadAssetBundle("core/factories/fight_object_factory"); while (!bundleRequest.get_isDone()) { yield return(null); } if (AssetManagerError.op_Implicit(bundleRequest.get_error()) != 0) { Log.Error(string.Format("Error while loading bundle: {0} error={1}", "core/factories/fight_object_factory", bundleRequest.get_error()), 74, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\FightObjectFactory.cs"); yield break; } AllAssetsLoadRequest <FightObjectFactory> assetLoadRequest = AssetManager.LoadAllAssetsAsync <FightObjectFactory>("core/factories/fight_object_factory"); while (!assetLoadRequest.get_isDone()) { yield return(null); } if (AssetManagerError.op_Implicit(assetLoadRequest.get_error()) != 0) { Log.Error(string.Format("Error while loading asset: {0} error={1}", "FightObjectFactory", assetLoadRequest.get_error()), 85, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\FightObjectFactory.cs"); yield break; } s_instance = assetLoadRequest.get_assets()[0]; s_companionCharacterPool = new GameObjectPool(s_instance.m_companionCharacterPrefab, 2); s_summoningCharacterPool = new GameObjectPool(s_instance.m_summoningCharacterPrefab, 2); s_objectMechanismCharacterPool = new GameObjectPool(s_instance.m_objectMechanismPrefab, 2); s_floorMechanismCharacterPool = new GameObjectPool(s_instance.m_floorMechanismPrefab, 2); s_animatedObjectEffectPool = new GameObjectPool(s_instance.m_animatedObjectEffectPrefab, 2); s_timelineAssetEffectPool = new GameObjectPool(s_instance.m_timelineAssetEffectPrefab, 4); s_valueChangedFeedbackPool = new GameObjectPool(s_instance.m_valueChangedFeedbackPrefab, 4); isReady = true; }