public void TryRegisterSourceFromOsuRTDataProvider(SyncHost host) { foreach (var plugin in host.EnumPluings()) { if (plugin.Name == "OsuRTDataProvider") { Log.Output(OSURTDP_FOUND); OsuRTDataProvider.OsuRTDataProviderPlugin reader = plugin as OsuRTDataProvider.OsuRTDataProviderPlugin; if (reader.ModsChangedAtListening) { SourceWrapper = new RealtimeDataProviderModsWrapper(reader, this); } else { SourceWrapper = new OsuRTDataProviderWrapper(reader, this); } if (SourceWrapper.Attach()) { source = UsingSource.OsuRTDataProvider; } return; } } Log.Error(OSURTDP_NOTFOUND); source = UsingSource.None; }
private void OsuLiveStatusPanelPlugin_onLoadComplete(PluginEvents.LoadCompleteEvent evt) { SyncHost host = evt.Host; SetupPlugin(host); Plugin config_gui = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "ConfigGUI"); if (config_gui != null) { GuiRegisterHelper.RegisterConfigGui(config_gui, PPShowPluginInstance); } }
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); }
private void SetupPlugin(SyncHost host) { //init PPShow PPShowPluginInstance = new InfoOutputterWrapper(PPShowJsonConfigFilePath); source = UsingSource.None; try { switch (BeatmapSourcePlugin.ToString().ToLower().Trim()) { case "ortdp": TryRegisterSourceFromOsuRTDataProvider(host); break; case "dpmp": TryRegisterSourceFromDifficultParamModifyPlugin(host); break; default: break; } Log.Output($"Source:{BeatmapSourcePlugin} Loaded:{SourceWrapper.GetType().Name}"); } catch (Exception e) { Log.Error($"{LOAD_PLUGIN_DEPENDENCY_FAILED}:{e.Message}"); source = UsingSource.None; } if (source == UsingSource.None) { Log.Error(INIT_PLUGIN_FAILED_CAUSE_NO_DEPENDENCY); } else { Log.Output(INIT_SUCCESS); } CleanOutput(); }
public void TryRegisterSourceFromOsuRTDataProvider(SyncHost host) { foreach (var plugin in host.EnumPluings()) { if (plugin.Name == "OsuRTDataProvider") { Logger.LogInfomation("OsuRTDataProvider plugin found!"); OsuRTDataProvider.OsuRTDataProviderPlugin reader = plugin as OsuRTDataProvider.OsuRTDataProviderPlugin; ReflectorModel.ORTDP = reader; ReflectorModel.ORTDP.ListenerManager.OnPlayerChanged += OnPlayerChanged; ReflectorModel.ORTDP.ListenerManager.OnStatusChanged += OnStatusChange; ReflectorModel.ORTDP.ListenerManager.OnModsChanged += OnCurrentModsChange; ReflectorModel.ORTDP.ListenerManager.OnBeatmapChanged += OnCurrentBeatmapChange; ReflectorModel.ORTDP.ListenerManager.OnScoreChanged += OnScoreChanged; OsuUserName = Setting.UserName; return; } } Logger.Error("OsuRTDataProvider plugin not found!"); }
public override void OnEnable() { I18n.Instance.ApplyLanguage(new Language()); frmUI = new frmDefault(); frmThread = new Thread(ShowForm); frmThread.SetApartmentState(ApartmentState.STA); frmThread.Name = "STAThreadForm"; EventBus.BindEvent <PluginEvents.InitCommandEvent>(evt => { evt.Commands.Dispatch.bind("gui", (t) => { frmUI.ShowMe(); return(true); }, UI_DISPLAY); }); EventBus.BindEvent <PluginEvents.LoadCompleteEvent>(evt => { hoster = evt.Host; SourceEvents.Instance.BindEvent <StartSourceEvent>(e => frmUI.UpdateStautsAuto()); SourceEvents.Instance.BindEvent <StopSyncEvent>(e => frmUI.UpdateStautsAuto()); }); EventBus.BindEvent <PluginEvents.ConfigurationChange>((e) => { frmUI.ready(); }); EventBus.BindEvent <PluginEvents.ProgramReadyEvent>(evt => { frmThread.Start(); IO.SetIO(frmUI); }); IO.CurrentIO.Write("Default GUI by Deliay : )"); }
public void TryRegisterSourceFromDifficultParamModifyPlugin(SyncHost host) { foreach (var plugin in host.EnumPluings()) { if (plugin.Name == "DifficultParamModifyPlugin") { Log.Output($"发现dpmp插件"); DifficultParamModifyPlugin.DifficultParamModifyPlugin reader = plugin as DifficultParamModifyPlugin.DifficultParamModifyPlugin; SourceWrapper = new DifficultParamModifyPluginSourceWrapper(reader, this); if (SourceWrapper.Attach()) { source = UsingSource.DifficultParamModifyPlugin; } return; } } Log.Error($"没发现dpmp插件"); source = UsingSource.None; }
public LoadCompleteEvent(SyncHost host) { Host = host; }