Пример #1
0
 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);
         }
     }
 }
Пример #2
0
        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;
        }