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(); }