public override void OnLevelLoaded(LoadMode mode) { // Check to see if a conflicting mod has been detected - if so, alert the user. if (conflictingMod) { UIView.library.ShowModal <ExceptionPanel>("ExceptionPanel").SetMessage("Realistic Population Revisited", "Original Realistic Population and Consumption Mod mod detected - Realistic Population Revisited is shutting down to protect your game. Only ONE of these mods can be enabled at the same time; please unsubscribe from the old Realistic Population and Consumption Mod, which is now deprecated!", true); } // Don't do anything further if mod hasn't activated (conflicting mod detected, or loading into editor instead of game). if (!isModEnabled) { return; } else if (mode == LoadMode.LoadGame || mode == LoadMode.NewGame) { if (!isLevelLoaded) { isLevelLoaded = true; // Now we can remove people DataStore.allowRemovalOfCitizens = true; Debugging.releaseBuffer(); Debugging.Message("successfully applied"); } } // Create new XML if one doesn't already exist. if (!File.Exists(DataStore.currentFileLocation)) { XMLUtilsWG.WriteToXML(); } // Add button to building info panels. BuildingDetailsPanel.AddInfoPanelButton(); // Check if we need to display update notification. if (UpdateNotification.notificationVersion != 2) { // No update notification "Don't show again" flag found; show the notification. UpdateNotification notification = new UpdateNotification(); notification.Create(); notification.Show(); } // Set up options panel event handler. OptionsPanel.OptionsEventHook(); }
/// <summary> /// Creates the panel object in-game. /// </summary> public void Create() { try { // Destroy existing (if any) instances. uiGameObject = GameObject.Find("RealPopUpgradeNotification"); if (uiGameObject != null) { Debugging.Message("found existing upgrade notification instance"); GameObject.Destroy(uiGameObject); } // Create new instance. // Give it a unique name for easy finding with ModTools. uiGameObject = new GameObject("RealPopUpgradeNotification"); uiGameObject.transform.parent = UIView.GetAView().transform; _instance = uiGameObject.AddComponent <UpdateNotification>(); } catch (Exception e) { Debugging.LogException(e); } }