public void OnDestroy() { AssetBundleManager.DeleteAssets(ref UIResNode, true); foreach (PerformanceCheckFlowBase temp in FlowTable.Values) { temp.Destroy(); } FlowTable.Clear(); Instance = null; }
public void Start() { if (!CheckMultclient()) { Application.Quit(); return; } if (!CkeckUpdateOk()) { Application.Quit(); return; } Instance = this; Initialize.m_WindowHwnd = GameLogicAPI.getMainWindHwnd(); AssetBundleManager.Init(); UIResNode = AssetBundleManager.GetAssets(AssetType.Asset_Prefab, "f8aafccc7fff6e34490e09b186458dd8", true); if (ResNode.isNullOrEmpty(UIResNode)) { Debug.LogError("找不到性能检测UI资源,以最低配置运行"); if (AssetBundleManager.isCanLoadLevel(LoginSceneName)) { AssetBundleManager.LoadLevel(LoginSceneName); } return; } flowShareData.CheckUI = UIResNode.InstanceMainRes <PerformanceCheck_UI>(); if (!flowShareData.CheckUI) { Debug.LogError("找不到性能检测UI,以最低配置运行"); if (AssetBundleManager.isCanLoadLevel(LoginSceneName)) { AssetBundleManager.LoadLevel(LoginSceneName); } return; } ImageEffects.ImageEffectManager.API_ResetSceneBrightness(); FlowTable.Add(CheckFlow.HardWareSupport, new PerformanceCheckFlow_HardWareSupport()); FlowTable.Add(CheckFlow.GeometricRender, new PerformanceCheckFlow_RenderingLevel()); FlowTable.Add(CheckFlow.Finish, new PerformanceCheckFlow_Finish()); ViewConfigManager.SetDefaultViewConfigPath(); if (flowShareData.CheckUI) { flowShareData.CheckUI.Init(); } //本地已经有这个配置了,直接进游戏 if (GetPerformanceCheckVersion() == currPerformanceCheckVersion) { if (AssetBundleManager.isCanLoadLevel(LoginSceneName)) { AssetBundleManager.LoadLevel(LoginSceneName); } } else { InitData(); if (flowShareData.CheckUI) { flowShareData.CheckUI.StartCheck(); } ChangeFlow(CheckFlow.HardWareSupport); StartCoroutine(RunPerformanceCheck()); } }
public void OnEnable() { instance = target as PerformanceCheckManager; }