Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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!");
        }
Esempio n. 6
0
        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 : )");
        }
Esempio n. 7
0
        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;
        }
Esempio n. 8
0
 public LoadCompleteEvent(SyncHost host)
 {
     Host = host;
 }