private static void CompatibilityCheck() { ModsCompatibilityChecker mcc = new ModsCompatibilityChecker(); mcc.PerformModCheck(); VersionUtil.CheckGameVersion(); }
internal void Load() { try { Log.Info($"TMPELifecycle.Load() called. Mode={Mode}, UpdateMode={UpdateMode}, Scene={Scene}"); if (Scene == "ThemeEditor") { return; } IsGameLoaded = false; InGameUtil.Instantiate(); VersionUtil.CheckGameVersion(); IsGameLoaded = true; CustomPathManager.OnLevelLoaded(); ModUI.OnLevelLoaded(); if (PlayMode) { UIView uiView = UIView.GetAView(); uiView.AddUIComponent(typeof(UITransportDemand)); uiView.gameObject.AddComponent <RemoveVehicleButtonExtender>(); uiView.gameObject.AddComponent <RemoveCitizenInstanceButtonExtender>(); uiView.gameObject.AddComponent <RoadSelectionPanels>(); } Patcher.Install(); Log.Info("Notifying managers..."); foreach (ICustomManager manager in RegisteredManagers) { Log.Info($"OnLevelLoading: {manager.GetType().Name}"); manager.OnLevelLoading(); } // must be subscribed last to notify other mods about TMPE changes // after all TMPE rules are applied. GeometryNotifierDisposable = GeometryManager.Instance.Subscribe(new GeometryNotifier()); Notifier.Instance.OnLevelLoaded(); Log.Info("OnLevelLoaded complete."); } catch (Exception ex) { ex.LogException(true); } }