void DrawChangelogInfo() { bool isChanged = false; string tmpString = ""; changelogFoldout = EditorGUILayout.BeginFoldoutHeaderGroup(changelogFoldout, "Changelog"); if (changelogFoldout) { scrollPosChangelog = EditorGUILayout.BeginScrollView(scrollPosChangelog); ++EditorGUI.indentLevel; changelog.updateName = DrawStringField("Update name", changelog.updateName); --EditorGUI.indentLevel; EditorGUILayout.EndScrollView(); } EditorGUILayout.EndFoldoutHeaderGroup(); if (isChanged) { ChangelogData.SaveChangelogToFile(changelogPath, changelog); } string DrawStringField(string label, string text) { tmpString = EditorGUILayout.TextField(label, text); if (text != tmpString) { isChanged = true; } return(tmpString); } }
static void LoadChangelog() { changelogPath = PlayerPrefs.GetString(CHANGELOG_JSON_PATH_KEY, ""); changelog = null; //Find path. Try to load settings if (!string.IsNullOrEmpty(changelogPath)) { changelog = ChangelogData.LoadChangelogFromFile(changelogPath); if (changelog == null) { changelogPath = null; } } //No path, or cant locate asset at path. Try to find settings in assets. if (string.IsNullOrEmpty(changelogPath)) { string[] guids = AssetDatabase.FindAssets("Changelog.json"); if (guids.Length >= 2) { Debug.LogError("[BuildManagerWindow]. 2+ Changelog.json exist. Consider on using only 1 changelog. The first on will be used."); } if (guids.Length != 0) { changelogPath = AssetDatabase.GUIDToAssetPath(guids[0]); PlayerPrefs.SetString(CHANGELOG_JSON_PATH_KEY, changelogPath); changelog = ChangelogData.LoadChangelogFromFile(changelogPath); } } //Cant find settings. Create new if (changelog == null) { changelog = new ChangelogData(); changelogPath = CHANGELOG_DEFAULT_PATH; PlayerPrefs.SetString(CHANGELOG_JSON_PATH_KEY, CHANGELOG_DEFAULT_PATH); ChangelogData.SaveChangelogToFile(changelogPath, changelog); } }