Beispiel #1
0
        public void Initialize(DalamudPluginInterface pluginInterface)
        {
            _pi = pluginInterface;

            Config = pluginInterface.GetPluginConfig() as CharacterSyncConfig ?? new CharacterSyncConfig();

            _pi.UiBuilder.OnBuildUi      += UiBuilder_OnBuildUi;
            _pi.UiBuilder.OnOpenConfigUi += (sender, args) => _isMainConfigWindowDrawing = true;

            _pi.CommandManager.AddHandler("/pcharsync",
                                          new CommandInfo((string cmd, string args) => _isMainConfigWindowDrawing = true)
            {
                HelpMessage = "Open the Character Sync configuration."
            });

            this._createFileHook = new Hook <CreateFileWDelegate>(LocalHook.GetProcAddress("Kernel32", "CreateFileW"), new CreateFileWDelegate(CreateFileWDetour));
            this._createFileHook.Enable();

            if (pluginInterface.Reason == PluginLoadReason.Installer)
            {
                _isSafeMode = true;

                PluginLog.Log("Installer, safe mode...");
            }

            if (pluginInterface.Reason == PluginLoadReason.Boot && pluginInterface.ClientState.LocalPlayer != null)
            {
                _isSafeMode         = true;
                _showRestartMessage = true;

                _warningTex = pluginInterface.UiBuilder.LoadImage(Path.Combine(
                                                                      Path.GetDirectoryName(Assembly.GetAssembly(typeof(CharacterSyncPlugin)).Location), "warningtex.png"));
                PluginLog.Log("Boot while logged in, safe mode...");
            }
        }
        public void Initialize(DalamudPluginInterface pluginInterface)
        {
            _pi = pluginInterface;

            Config = pluginInterface.GetPluginConfig() as CharacterSyncConfig ?? new CharacterSyncConfig();

            _pi.UiBuilder.OnBuildUi      += UiBuilder_OnBuildUi;
            _pi.UiBuilder.OnOpenConfigUi += (sender, args) => _isMainConfigWindowDrawing = true;

            _pi.CommandManager.AddHandler("/pcharsync",
                                          new CommandInfo((string cmd, string args) => _isMainConfigWindowDrawing = true)
            {
                HelpMessage = "Open the Character Sync configuration."
            });

            this._createFileHook = new Hook <CreateFileWDelegate>(LocalHook.GetProcAddress("Kernel32", "CreateFileW"), new CreateFileWDelegate(CreateFileWDetour));
            this._createFileHook.Enable();
        }