diff --git a/Assets/Config.unity b/Assets/Config.unity index 3521882..d3e929f 100644 Binary files a/Assets/Config.unity and b/Assets/Config.unity differ diff --git a/Assets/Cryville/Crtr/Config/ConfigScene.cs b/Assets/Cryville/Crtr/Config/ConfigScene.cs index 4507775..5ab46dd 100644 --- a/Assets/Cryville/Crtr/Config/ConfigScene.cs +++ b/Assets/Cryville/Crtr/Config/ConfigScene.cs @@ -1,4 +1,5 @@ -using Newtonsoft.Json; +using JetBrains.Annotations; +using Newtonsoft.Json; using System; using System.IO; using System.Text; @@ -24,6 +25,11 @@ namespace Cryville.Crtr.Config { FileInfo file = new FileInfo( Game.GameDataPath + "/rulesets/" + Settings.Default.LoadRuleset ); + if (!file.Exists) { + Popup.Create("Ruleset for the chart not found\nMake sure you have imported the ruleset"); + ReturnToMenu(); + return; + } DirectoryInfo dir = file.Directory; using (StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8)) { ruleset = JsonConvert.DeserializeObject(reader.ReadToEnd(), new JsonSerializerSettings() { @@ -62,7 +68,7 @@ namespace Cryville.Crtr.Config { cat.SetActive(true); } - public void ReturnToMenu() { + public void SaveAndReturnToMenu() { Game.InputManager.Deactivate(); m_inputConfigPanel.proxy.SaveTo(_rscfg.inputs); m_inputConfigPanel.proxy.Dispose(); @@ -72,6 +78,9 @@ namespace Cryville.Crtr.Config { using (StreamWriter cfgwriter = new StreamWriter(cfgfile.FullName, false, Encoding.UTF8)) { cfgwriter.Write(JsonConvert.SerializeObject(_rscfg, Game.GlobalJsonSerializerSettings)); } + ReturnToMenu(); + } + public void ReturnToMenu() { GameObject.Find("Master").GetComponent().ShowMenu(); #if UNITY_5_5_OR_NEWER SceneManager.UnloadSceneAsync("Config");