コード例 #1
0
        public static ProgramParameters Parse(params string[] args)
        {
            /* Default path where Hellblade data is stored */
            string defaultPathBase =
                PathHelper.AddBackslash(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)) + @"HellbladeGame\Saved\SaveGames";

            var prm  = new ProgramParameters();
            var tcfg = new HellbladeTrackingConfig()
            {
                SaveGamePath            = defaultPathBase,
                SaveGameFilter          = "*.sav",
                SaveBackupPath          = defaultPathBase + "\\Backup",
                DefaultNameFormat       = "hellblade_{0:yyMMdd_HHmmss}_{1:000}_{2}",
                HellbladeExecutablePath = "HellbladeGame-Win64-Shipping",
                TargetImageSize         = null
            };

            prm.Verbosity = 1;
            var optionSet = new OptionSet()
            {
                { "h|help", p => prm.ShowHelp = true },
                { "f|format=", p => tcfg.DefaultNameFormat = p },
                { "p|process-name=", p => tcfg.HellbladeExecutablePath = p },
                { "o|output-path=", p => tcfg.SaveBackupPath = p },
                { "i|input-path=", p => tcfg.SaveGamePath = p },
                { "w|wildcard=", p => tcfg.SaveGameFilter = p },
                { "s|image-size=", p => tcfg.TargetImageSize = ParseSize(p.ToString()) },
                { "v|verbosity=", p => prm.Verbosity = int.Parse(p) }
            };

            var positional = optionSet.Parse(args);

            prm.ProgramOptionsSet = optionSet;
            prm.TrackingConfig    = tcfg;

            return(prm);
        }
コード例 #2
0
 public HellbladeGameSaveTracker(HellbladeTrackingConfig config)
 {
     _config = config;
     Initialize();
 }