/// <summary> /// Plugin Preinit /// </summary> public override void OnEnable() { _configManager = new PluginConfigurationManager(this); _configManager.AddItem(new SettingIni()); var ortdp = new OsuRTDataProviderWarpper(getHoster().EnumPluings().FirstOrDefault(p => p.Name == "OsuRTDataProvider"), ref _osuDisplayerControls); var gui = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "ConfigGUI"); TourneyMode = ortdp.TourneyMode; TourneyWindowCount = ortdp.TourneyWindowCount; if (gui != null) { GuiRegisterHelper.RegisterFormatEditorWindow(gui); } _fixedInterval = TimeSpan.FromSeconds(1.0 / Setting.FPS); _fixedUpdateThread = Task.Run(() => { while (!_stopFixedUpdate) { foreach (var c in _osuDisplayerControls) { foreach (var d in c.Displayers) { d.Value.FixedDisplay(_fixedInterval.TotalSeconds); } } Thread.Sleep(_fixedInterval); } }); RegisterDisplayer("wpf", id => { var d = new WpfDisplayer(id); if (!TourneyMode) { d.HideRow(0); } if (!Setting.DisplayHitObject) { d.HideRow(2); } return(d); }); RegisterDisplayer("mmf", id => new MmfDisplayer(id, "rtpp")); RegisterDisplayer("mmf-split", id => new MmfDisplayer(id, "rtpp", true)); RegisterDisplayer(MultiOutputDisplayer.METHOD_NAME, id => new MultiOutputDisplayer(id, _multiDisplayerCreators, _formatterCreators)); RegisterDisplayer("text", id => new TextDisplayer(id, string.Format(Setting.TextOutputPath, id == null ? "" : id.Value.ToString()))); RegisterDisplayer("text-split", id => new TextDisplayer(id, string.Format(Setting.TextOutputPath, id == null ? "" : id.Value.ToString()), true)); RegisterDisplayer("socket", id => new SocketDisplayer(id, Setting.IpAddress, Setting.Port)); RegisterFormatter("rtpp-fmt", (fmt) => new RtppFormatter(fmt), "${rtpp@1}pp"); RegisterFormatter("rtppfmt-bp", (fmt) => new RtppFormatWithBp(fmt), "${rtpp@1}pp (${rtpp_with_weight@1}pp) BP: #${rtbp@0}"); IO.CurrentIO.WriteColor($"{PLUGIN_NAME} By {PLUGIN_AUTHOR} Ver.{VERSION}", ConsoleColor.DarkCyan); }
/// <summary> /// Plugin Init /// </summary> public override void OnEnable() { _configManager = new PluginConfigurationManager(this); _configManager.AddItem(new SettingIni()); _ortdp = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "OsuRTDataProvider") as OsuRTDataProviderPlugin; var gui = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "ConfigGUI"); if (gui != null) { GuiRegisterHelper.RegisterFormatEditorWindow(gui); } if (_ortdp == null) { IO.CurrentIO.WriteColor("No found OsuRTDataProvider!", ConsoleColor.Red); return; } int size = TourneyMode ? _ortdp.TourneyListenerManagersCount : 1; for (int i = 0; i < size; i++) { var manager = _ortdp.ListenerManager; if (TourneyMode) { manager = _ortdp.TourneyListenerManagers[i]; } _osuPpControls[i] = new DisplayerController(manager); } _fixedInterval = TimeSpan.FromSeconds(1.0 / Setting.FPS); _fixedUpdateThread = Task.Run(() => { while (!_stopFixedUpdate) { lock (_allDisplayerMtx) { foreach (var d in _allDisplayers) { d.Value.FixedDisplay(_fixedInterval.TotalSeconds); } } Thread.Sleep(_fixedInterval); } }); RegisterDisplayer("wpf", id => new WpfDisplayer(id)); RegisterDisplayer("mmf", id => new MmfDisplayer(id)); RegisterDisplayer("mmf-split", id => new MmfDisplayer(id, true)); RegisterDisplayer("text", id => new TextDisplayer(string.Format(Setting.TextOutputPath, id == null ? "" : id.Value.ToString()))); RegisterDisplayer("text-split", id => new TextDisplayer(string.Format(Setting.TextOutputPath, id == null ? "" : id.Value.ToString()), true)); RegisterDisplayer("console", id => new ConsoleDisplayer()); IO.CurrentIO.WriteColor(PLUGIN_NAME + " By " + PLUGIN_AUTHOR, ConsoleColor.DarkCyan); }
public override void OnEnable() { Plugin guiPlugin = getHoster().EnumPluings().FirstOrDefault(p => p.Name == "ConfigGUI"); if (guiPlugin != null) { GuiRegisterHelper.RegisterCustomItem(guiPlugin, client); } }
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); } }