public override void PostClose() { ModsConfig.Save(); if (this.activeModsWhenOpenedHash != ModLister.InstalledModsListHash(true)) { ModsConfig.RestartFromChangedMods(); } }
public override void PreClose() { base.PreClose(); Prefs.Save(); if (Prefs.SimulateNotOwningRoyalty && !simulateNotOwningRoyaltyWhenOpened && ModsConfig.RoyaltyActive) { ModsConfig.SetActive(ModContentPack.RoyaltyModPackageId, active: false); ModsConfig.RestartFromChangedMods(); } }
void RenderLoadFromSaveButton(Rect LoadFromSaveRect) { if (Widgets.ButtonText(LoadFromSaveRect, "ChangeLoadedMods".Translate())) { if (Current.ProgramState == ProgramState.Entry) { ModsConfig.SetActiveToList(ScribeMetaHeaderUtility.loadedModIdsList); } ModsConfig.SaveFromList(ScribeMetaHeaderUtility.loadedModIdsList); ModsConfig.RestartFromChangedMods(); } }
public override void PostClose() { ModsConfig.Save(); foreach (ModMetaData item in ModsConfig.ActiveModsInLoadOrder) { item.UnsetPreviewImage(); } Resources.UnloadUnusedAssets(); if (activeModsWhenOpenedHash != ModLister.InstalledModsListHash(activeOnly: true)) { ModsConfig.RestartFromChangedMods(); } }
/// <summary> /// После успешной регистрации или входа /// </summary> public static void InitConnected() { try { Loger.Log("Client InitConnected()"); Data = new ClientData(); TimersStop(); Timers = new WorkTimer(); TimerReconnect = new WorkTimer(); var connect = SessionClient.Get; var serverInfo = connect.GetInfo(ServerInfoType.Full); ServerTimeDelta = serverInfo.ServerTime - DateTime.UtcNow; SetFullInfo(serverInfo); Loger.Log("Client ServerName=" + serverInfo.ServerName); Loger.Log("Client ServerVersion=" + serverInfo.VersionInfo + " (" + serverInfo.VersionNum + ")"); Loger.Log("Client IsAdmin=" + serverInfo.IsAdmin + " Seed=" + serverInfo.Seed + " NeedCreateWorld=" + serverInfo.NeedCreateWorld + " DelaySaveGame=" + Data.DelaySaveGame + " DisableDevMode=" + Data.DisableDevMode); Loger.Log("Client Grants=" + serverInfo.My.Grants.ToString()); if (serverInfo.IsModsWhitelisted && !CheckFiles()) { var msg = "OCity_SessionCC_FilesUpdated".Translate(); //Не все файлы прошли проверку, надо инициировать перезагрузку всех модов Disconnected(msg, () => ModsConfig.RestartFromChangedMods()); return; } if (MainHelper.VersionNum < serverInfo.VersionNum) { Disconnected("OCity_SessionCC_Client_UpdateNeeded".Translate() + serverInfo.VersionInfo); return; } //создаем мир, если мы админ if (serverInfo.IsAdmin && serverInfo.Seed == "") { Loger.Log("Client InitConnected() IsAdmin"); var form = new Dialog_CreateWorld(); form.PostCloseAction = () => { if (!form.ResultOK) { Disconnected("OCity_SessionCC_MsgCanceledCreateW".Translate()); return; } GameStarter.SetMapSize = int.Parse(form.InputMapSize); GameStarter.SetPlanetCoverage = float.Parse(form.InputPlanetCoverage) / 100f; GameStarter.SetSeed = form.InputSeed; GameStarter.SetDifficulty = int.Parse(form.InputDifficulty); GameStarter.SetScenario = GetScenarioDefault(); GameStarter.AfterStart = CreatingServerWorld; GameStarter.GameGeneration(); }; Find.WindowStack.Add(form); return; } if (serverInfo.NeedCreateWorld) { CreatePlayerWorld(serverInfo); return; } LoadPlayerWorld(); } catch (Exception ext) { Loger.Log("Exception InitConnected: " + ext.ToString()); } }