コード例 #1
0
        public MainWindow()
        {
            var    args = Environment.GetCommandLineArgs();
            var    DebugMode = false;
            string MO2Folder = null, InstallFolder = null, MO2Profile = null;

            if (args.Length > 1)
            {
                DebugMode     = true;
                MO2Folder     = args[1];
                MO2Profile    = args[2];
                InstallFolder = args[3];
            }

            InitializeComponent();

            var context = new AppState(Dispatcher, "Building");

            context.LogMsg($"Wabbajack Build - {ThisAssembly.Git.Sha}");
            SetupHandlers(context);
            DataContext = context;
            WorkQueue.Init((id, msg, progress) => context.SetProgress(id, msg, progress),
                           (max, current) => context.SetQueueSize(max, current));

            Utils.SetLoggerFn(s => context.LogMsg(s));
            Utils.SetStatusFn((msg, progress) => WorkQueue.Report(msg, progress));
            UIUtils.Dispatcher = Dispatcher;


            new Thread(() =>
            {
                context.UIReady = false;
                var modlist     = Installer.CheckForModList();
                if (modlist == null)
                {
                    Utils.Log("No Modlist found, running in Compiler mode.");
                }
                else
                {
                    context.ConfigureForInstall(modlist);
                }
                context.UIReady = true;
            }).Start();
        }