Ejemplo n.º 1
0
        public RootForm()
        {
            InitializeComponent();

            var config = new LocalFileConfig();

            try
            {
                config.Load();
            }
            catch
            {
                config.Save();
            }
            var fileSystem  = new LocalFileSystem();
            var soundPlayer = new WindowsManagedPlayer();

            // TODO 設定の反映処理を設ける
            // XXX 単位変更をこんな感じでやるのは下策だなー
            soundPlayer.SoundVolume = config.SoundVolume / 100f;

            // TODO ログの設定
            Program.LoggerFactory.AddProvider(new SerilogLoggerProvider(
                                                  new LoggerConfiguration().MinimumLevel.Information()
                                                  .WriteTo.File("logs\\srcsform..log", rollingInterval: RollingInterval.Day)
                                                  .CreateLogger()));
            Program.UpdateLogger();

            SRC = new SRCCore.SRC(Program.LoggerFactory);
            SRC.SystemConfig = config;
            SRC.FileSystem   = fileSystem;
            SRC.Sound.Player = soundPlayer;

            // XXX ファイルシステムへのエントリー追加はお試し中
            try
            {
                fileSystem.AddAchive(SRC.AppPath, "assets.zip");
                fileSystem.AddPath(SRC.AppPath);
                fileSystem.AddPath(SRC.ExtDataPath2);
                fileSystem.AddPath(SRC.ExtDataPath);
            }
            catch (Exception ex)
            {
                // ignore
                SRC.LogError(ex);
            }

            SRC.GUI             = new SRCSharpFormGUI(SRC);
            SRC.GUI.MessageWait = 700;
        }