protected override void Awake() { base.Awake(); flags = SaveDataHelper.Load <FlagMap>("flag.json") ?? new FlagMap(); skipFlags = new FlagMap(); areaFlags = new FlagMap(); Wyte.GameSave += (wyte) => { SaveDataHelper.Save("flag.json", flags); // スキップフラグはセーブされない. }; Map.MapChanged += (wyte) => { // さようなら. areaFlags.Clear(); }; }
protected override void Awake() { base.Awake(); AvailableLocales = Resources.Load <TextAsset>("Language/langs").text.Replace("\r\n", "\n").Replace("\r", "\n").Split('\n'); Locales = new Dictionary <string, Dictionary <string, string> >(); foreach (var locale in AvailableLocales) { var asset = Resources.Load <TextAsset>($"Language/{locale}/strings"); Locales[locale] = ParseLangFile(asset.text); Debug.Log($"Loaded a {locale} locale file."); } var lang = SaveDataHelper.Load <LanguageConfig>("locale.json"); // 言語設定がない場合 if (lang == null || lang.Language == null) { lang = new LanguageConfig(); // システムの言語設定と照合する foreach (var loc in Locales) { if (loc.Value.ContainsKey("lang.name.inunity")) { SystemLanguage converted; if (System.Enum.TryParse(loc.Value["lang.name.inunity"], out converted)) { if (converted == Application.systemLanguage) { lang.Language = loc.Key; break; } } } } } Language = lang.Language; }
public Keys Load() { var data = SaveDataHelper.Load <Keys>(BindingFileName); return(Binding = data.Equals(default(Keys)) ? Default : data); }