コード例 #1
0
    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();
    }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
    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
        {
        }
    }