Exemplo n.º 1
0
        private void SetupOsuStatePresenter(OsuPresenter osuPresenter)
        {
            // disable nodes not required for this app
            osuPresenter.TryGetNode(typeof(OsuStatePresenter.Nodes.BpmNode), out Node bpmNode);
            bpmNode.DisablePresentation();

            osuPresenter.TryGetNode(typeof(OsuStatePresenter.Nodes.ModsNode), out Node modsNode);
            modsNode.DisablePresentation();

            osuPresenter.TryGetNode(typeof(OsuStatePresenter.Nodes.PPNode), out Node ppNode);
            ppNode.DisablePresentation();

            // start presenting and scanning for node values
            osuPresenter.Start();
        }
Exemplo n.º 2
0
        private void RegisterBpmNodeValueChangedHandler(OsuPresenter presenter)
        {
            if (presenter.TryGetNode(typeof(BpmNode), out Node bpmNode))
            {
                if (bpmNode is null)
                {
                    Console.WriteLine($"Error: Unable to get BPM Node from Presenter.");
                    return;
                }

                bpmNode.OnValueChange += (s, e) => HandleBpmChange(bpmNode, s, e);
                Console.WriteLine($"BPM value change handler registered.");
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// The main console method.
        /// </summary>
        public static void Main()
        {
            var presenter = new OsuPresenter(StateCreatedHandler);

            // handle value changed on a specific node
            if (presenter.TryGetNode(typeof(BpmNode), out Node bpmNode))
            {
                bpmNode.OnValueChange += (sender, e) => Console.WriteLine($@"BPM: {bpmNode.GetValue()}");
            }

            // start the Presenter
            presenter.Start();

            // keep the console open
            while (true)
            {
                Console.ReadKey();
                Console.WriteLine(@"Key pressed. Stopping Presenter...");
                presenter.Stop();
            }

            // ReSharper disable once FunctionNeverReturns
        }