コード例 #1
0
        public void Run(Int32 gameProcessId)
        {
            Log.Information("[HOOKS] DalamudLauncher::Run(gp:{0}, cl:{1}, pid:{2})", this.gamePath.FullName, this.language, gameProcessId);

            var ingamePluginPath  = Path.Combine(this.configDirectory.FullName, "installedPlugins");
            var defaultPluginPath = Path.Combine(this.configDirectory.FullName, "devPlugins");

            Directory.CreateDirectory(ingamePluginPath);
            Directory.CreateDirectory(defaultPluginPath);

            var startInfo = new DalamudStartInfo
            {
                Language               = language,
                PluginDirectory        = ingamePluginPath,
                DefaultPluginDirectory = defaultPluginPath,
                ConfigurationPath      = DalamudSettings.GetConfigPath(this.configDirectory),
                AssetDirectory         = this.updater.AssetDirectory.FullName,
                GameVersion            = Repository.Ffxiv.GetVer(gamePath),
                WorkingDirectory       = this.updater.Runner.Directory?.FullName,
                DelayInitializeMs      = this.injectionDelay,
            };

            Log.Information("[HOOKS] DelayInitializeMs: {0}", startInfo.DelayInitializeMs);

            this.runner.Run(gameProcessId, this.updater.Runner, startInfo, this.gamePath, this.loadMethod);

            this.updater.CloseOverlay();

            Log.Information("[HOOKS] Started dalamud!");
        }