public void OnClickNewSave() { FileNameDialog fileNameDialog = (FileNameDialog)KScreenManager.Instance.StartScreen(ScreenPrefabs.Instance.FileNameDialog.gameObject, base.transform.parent.gameObject); fileNameDialog.onConfirm = delegate(string filename) { filename = Path.Combine(SaveLoader.GetSavePrefixAndCreateFolder(), filename); Save(filename); }; }
private void OnUnlockSandboxMode() { ConfirmDialogScreen component = ActivateChildScreen(ScreenPrefabs.Instance.ConfirmDialogScreen.gameObject).GetComponent <ConfirmDialogScreen>(); component.PopupConfirmDialog(UI.FRONTEND.OPTIONS_SCREEN.TOGGLE_SANDBOX_SCREEN.UNLOCK_SANDBOX_WARNING, delegate { SaveGame.Instance.sandboxEnabled = true; SetSandboxModeActive(SaveGame.Instance.sandboxEnabled); TopLeftControlScreen.Instance.UpdateSandboxToggleState(); Deactivate(); }, delegate { string savePrefixAndCreateFolder = SaveLoader.GetSavePrefixAndCreateFolder(); string text2 = savePrefixAndCreateFolder; savePrefixAndCreateFolder = text2 + "\\" + SaveGame.Instance.BaseName + UI.FRONTEND.OPTIONS_SCREEN.TOGGLE_SANDBOX_SCREEN.BACKUP_SAVE_GAME_APPEND + ".sav"; SaveLoader.Instance.Save(savePrefixAndCreateFolder, false, false); SetSandboxModeActive(SaveGame.Instance.sandboxEnabled); TopLeftControlScreen.Instance.UpdateSandboxToggleState(); Deactivate(); }, UI.FRONTEND.OPTIONS_SCREEN.TOGGLE_SANDBOX_SCREEN.CANCEL, delegate { }, cancel_text: UI.FRONTEND.OPTIONS_SCREEN.TOGGLE_SANDBOX_SCREEN.CONFIRM_SAVE_BACKUP, title_text: null, confirm_text: UI.FRONTEND.OPTIONS_SCREEN.TOGGLE_SANDBOX_SCREEN.CONFIRM, image_sprite: null, activateBlackBackground: true); component.Activate(); }
private void OnEndEdit(string newName) { if (Localization.HasDirtyWords(newName)) { inputField.text = GenerateBaseNameString(); newName = inputField.text; } if (!string.IsNullOrEmpty(newName)) { inputField.text = newName; SaveGame.Instance.SetBaseName(newName); string text = newName; if (!text.Contains(".sav")) { text += ".sav"; } string savePrefixAndCreateFolder = SaveLoader.GetSavePrefixAndCreateFolder(); if (!text.Contains(savePrefixAndCreateFolder)) { text = savePrefixAndCreateFolder + text; } SaveLoader.SetActiveSaveFilePath(text); } }
private void CheckForSavePathIssue() { if (test_issue != 0) { savePathState = test_issue; return; } string savePrefix = SaveLoader.GetSavePrefix(); savePathState = SavePathIssue.Ok; try { SaveLoader.GetSavePrefixAndCreateFolder(); using (FileStream fileStream = File.Open(savePrefix + testFile, FileMode.Create, FileAccess.Write)) { new BinaryWriter(fileStream); fileStream.Close(); } } catch { savePathState = SavePathIssue.WriteTestFail; goto IL_0111; } using (FileStream fileStream2 = File.Open(savePrefix + testSave, FileMode.Create, FileAccess.Write)) { try { fileStream2.SetLength(15000000L); new BinaryWriter(fileStream2); fileStream2.Close(); } catch { fileStream2.Close(); savePathState = SavePathIssue.SpaceTestFail; goto IL_0111; } } try { using (File.Open(WorldGen.WORLDGEN_SAVE_FILENAME, FileMode.Append)) { } using (File.Open(WorldGen.SIM_SAVE_FILENAME, FileMode.Append)) { } } catch { savePathState = SavePathIssue.WorldGenFilesFail; } goto IL_0111; IL_0111: try { if (File.Exists(savePrefix + testFile)) { File.Delete(savePrefix + testFile); } if (File.Exists(savePrefix + testSave)) { File.Delete(savePrefix + testSave); } } catch { } }