public Live2DManaged() { CharacterNotify.Instance.CharacterLoadSubject.Subscribe(CharacterLoad); CharacterNotify.Instance.SetAnimationSubject.Subscribe(SetAnimation); var repo = ServiceLocator.Instance.GetInstance <BabumiConfigRepository>(); _babumiConfig = repo.GetConfig(); }
protected override void OnStartup(StartupEventArgs e) { Thread.GetDomain().UnhandledException += (sender, args) => { var exception = args.ExceptionObject as Exception; if (exception != null) { logger.Error(exception); } }; SetupRegistory(); base.OnStartup(e); ServiceLocator.Instance.InitializeServiceLocator(); //!< プロジェクトのコンフィグファイルを読み込む var repo = ServiceLocator.Instance.GetInstance <BabumiConfigRepository>(); try { repo.Save("Babumi.config"); } catch (Exception exception) when(exception is FileNotFoundException) { MessageBox.Show(DesktopCharacter.Properties.Resources.App_ConfigCreateNotify); //!< Configファイルを自動作成してみてアプリケーションを再起動を試みる try { var config = BabumiConfig.DefaultConfig(); if (config != null) { repo.Save(config); repo.ExportXML("Babumi.config"); System.Windows.Forms.Application.Restart(); } else { MessageBox.Show(DesktopCharacter.Properties.Resources.App_Live2DModelNotFound); } //例外が発生したら必ず終了する Environment.Exit(0); } catch (Exception ex) when(ex is DirectoryNotFoundException) { MessageBox.Show(DesktopCharacter.Properties.Resources.App_Live2DFolderNotFound); Environment.Exit(0); } } catch (Exception exception) { //!< 致命的エラーなので終了する MessageBox.Show(string.Format("[ERROR]\n{0}", exception.Message)); //例外が発生したら必ず終了する Environment.Exit(0); } }
public CharacterSettingViewModel() { _listCollection = new ObservableCollection <CharacterName>(); var repo = ServiceLocator.Instance.GetInstance <BabumiConfigRepository>(); _babumiConfig = repo.GetConfig(); _topmostFlag = _babumiConfig.Topmost; _zoomLevel = _babumiConfig.ZoomLevel; Reload(); }
/// <summary> /// XMLの情報をセーブ /// </summary> /// <param name="xml"></param> public void Save(string xml) { BabumiConfig config = new BabumiConfig(); try { using (var fs = new FileStream(Directory.GetCurrentDirectory() + "\\" + xml, FileMode.Open)) { // XmlSerializerを使ってファイルに保存 XmlSerializer serializer = new XmlSerializer(typeof(BabumiConfig)); config = (BabumiConfig)serializer.Deserialize(fs); } } catch (Exception e) { throw e; } Save(config); }
/// <summary> /// オブジェクトファイルをセーブ /// </summary> /// <param name="settings"></param> public void Save(BabumiConfig settings) { _babumiConfig = settings; }