protected override void Startup() { this.InvokeOperationSafely(() => { _instance = this; this.Core.CharacterFilter.LoginComplete += CharacterFilter_LoginComplete; this.Core.CharacterFilter.Logoff += CharacterFilter_Logoff; this.CoreManager.PluginInitComplete += CoreManager_PluginInitComplete; //CoreManager.Current.PluginInitComplete += Current_PluginInitComplete; this._pluginBaseEventsHelper = new PluginBaseEventsHelper(); this.ClientDispatch += RTWrapperPlugin_ClientDispatch; this.ServerDispatch += RTWrapperPlugin_ServerDispatch; this._wrappedPlugin = WrapperUtilities.CreateWrappedPluginInstance("RedoxExtensions"); this._wrappedPlugin.WrappedStartup(this, this._pluginBaseEventsHelper); }); }
internal void LoadWrappedPlugin() { if (this._wrappedPlugin != null) { this.Debug.WriteLine(string.Format("Ignoring Load. Plugin Already Loaded")); return; } this._wrappedPlugin = WrapperUtilities.CreateWrappedPluginInstance("RedoxExtensions"); this._wrappedPlugin.WrappedStartup(this, this._pluginBaseEventsHelper); }
protected override void Shutdown() { this.InvokeOperationSafely(() => { this.Core.CharacterFilter.LoginComplete -= CharacterFilter_LoginComplete; this.Core.CharacterFilter.Logoff -= CharacterFilter_Logoff; this.CoreManager.PluginInitComplete -= CoreManager_PluginInitComplete; this.ClientDispatch -= RTWrapperPlugin_ClientDispatch; this.ServerDispatch -= RTWrapperPlugin_ServerDispatch; this._wrappedPlugin.WrappedShutdown(); this._wrappedPlugin = null; this._pluginBaseEventsHelper = null; _instance = null; }); }
internal void UnloadWrappedPlugin() { if (this._wrappedPlugin == null) { this.Debug.WriteLine(string.Format("Ignoring Unload. No Plugin Loaded")); return; } this._wrappedPlugin.WrappedShutdown(); this._wrappedPlugin = null; }