private void DefaultPlugin_onLoadComplete(LoadCompleteEvent @event) { MainHost = @event.Host; MainFilters = MainHost.Filters; MainSources = MainHost.Sources; MainSource = MainHost.SourceWrapper; MainClient = MainHost.ClientWrapper; MainMessager = MainHost.Messages; MainClients = MainHost.Clients; //config load Config = new PluginConfigurationManager(this); Config.AddItem(srcBili); Config.AddItem(srcTwitch); Config.AddItem(clientOSU); }
/// <summary> /// Invoke to load plugins /// </summary> internal void Load() { CurrentIO.Write(LANG_Loading); //Initial plugins manager plugins = new PluginManager(); CurrentIO.WriteColor(String.Format(LANG_Plugins, plugins.LoadPlugins()), ConsoleColor.Green); //Initial danmaku source sources = new SourceManager(); CurrentIO.WriteColor(String.Format(LANG_Sources, plugins.LoadSources()), ConsoleColor.Green); //select a danmaku source by config try { sourceWrapper = new SourceWorkWrapper(sources); PluginEvents.Instance.RaiseEvent(new PluginEvents.InitSourceWarpperEvent(sourceWrapper)); } catch { CurrentIO.Write(""); CurrentIO.WriteColor(LANG_Error, ConsoleColor.Red); CurrentIO.WriteColor("Press enter to continue", ConsoleColor.Red); CurrentIO.ReadCommand(); } //Get clients singleton clients = ClientManager.Instance; CurrentIO.WriteColor(String.Format(LANG_Client, plugins.LoadClients()), ConsoleColor.Green); clientWrapper = new ClientWorkWrapper(clients); PluginEvents.Instance.RaiseEvent(new PluginEvents.InitClientWarpperEvent(clientWrapper)); commands = new CommandManager(); CurrentIO.WriteColor(String.Format(LANG_Commands, plugins.LoadCommnads()), ConsoleColor.Green); filters = new FilterManager(); CurrentIO.WriteColor(String.Format(LANG_Filters, plugins.LoadFilters()), ConsoleColor.Green); messages = new MessageDispatcher(filters); plugins.ReadyProgram(); CurrentIO.WriteColor(LANG_Ready, ConsoleColor.Cyan); }
public InitSourceWarpperEvent(SourceWorkWrapper wrapper) { SourceWrapper = wrapper; }