示例#1
0
        protected override void OnIdle(object?sender, ApplicationIdleEventArgs eventArgs)
        {
            ExceptionUtilities.ThrowIfNull(sender, nameof(sender));

            _elapsedTime += eventArgs.Delta;

            if (_elapsedTime >= Timeout)
            {
                var application = (Application)sender;
                application.RequestExit();
            }

            if (_window.IsVisible)
            {
                // add current fps to the end of the Window Title
                var seconds = (uint)_elapsedTime.TotalSeconds;
                if (_secondsOfLastFpsUpdate < seconds)
                {
                    var newTitle = $"{Name} ({eventArgs.FramesPerSecond} fps)";
                    Window.SetTitle(newTitle);
                    _secondsOfLastFpsUpdate = seconds;
                }

                // update the rendering
                var currentGraphicsContext = _graphicsDevice.CurrentContext;
                currentGraphicsContext.BeginFrame();

                Update(eventArgs.Delta);
                Render();

                currentGraphicsContext.EndFrame();
                Present();
            }
        }
示例#2
0
        protected override void OnIdle(object?sender, ApplicationIdleEventArgs eventArgs)
        {
            ExceptionUtilities.ThrowIfNull(sender, nameof(sender));

            _elapsedTime += eventArgs.Delta;

            if (_elapsedTime.TotalSeconds >= 2.5)
            {
                var application = (Application)sender;
                application.RequestExit();
            }

            if (_window.IsVisible)
            {
                var graphicsDevice  = _graphicsDevice;
                var graphicsContext = graphicsDevice.GraphicsContexts[graphicsDevice.GraphicsContextIndex];

                var backgroundColor = new ColorRgba(red: 100.0f / 255.0f, green: 149.0f / 255.0f, blue: 237.0f / 255.0f, alpha: 1.0f);
                graphicsContext.BeginFrame(backgroundColor);

                graphicsContext.Draw(_trianglePrimitive);

                graphicsContext.EndFrame();
                graphicsDevice.PresentFrame();
            }
        }
示例#3
0
        protected override void OnIdle(object?sender, ApplicationIdleEventArgs eventArgs)
        {
            ExceptionUtilities.ThrowIfNull(sender, nameof(sender));

            var application = (Application)sender;

            RunAsync(application).Wait();
        }
示例#4
0
    private void OnIdle(TimeSpan delta, uint framesPerSecond)
    {
        var idle = Idle;

        if (idle != null)
        {
            var eventArgs = new ApplicationIdleEventArgs(delta, framesPerSecond);
            idle(this, eventArgs);
        }
    }
示例#5
0
    protected override void OnIdle(object?sender, ApplicationIdleEventArgs eventArgs)
    {
        ExceptionUtilities.ThrowIfNull(sender);

        _elapsedTime += eventArgs.Delta;

        if (_elapsedTime >= Timeout)
        {
            var application = (Application)sender;
            application.RequestExit();
        }
    }
        public override void OnIdle(object sender, ApplicationIdleEventArgs eventArgs)
        {
            var application = (Application)sender;

            {
                var graphicsProvider = application.GetService <IGraphicsProvider>();

                foreach (var graphicsAdapter in graphicsProvider.GraphicsAdapters)
                {
                    Console.WriteLine($"    Name: {graphicsAdapter.DeviceName}");
                    Console.WriteLine($"        Device ID: {graphicsAdapter.DeviceId}");
                    Console.WriteLine($"        Vendor ID: {graphicsAdapter.VendorId}");
                }
            }
            application.RequestExit();
        }
        protected override void OnIdle(object?sender, ApplicationIdleEventArgs eventArgs)
        {
            ExceptionUtilities.ThrowIfNull(sender, nameof(sender));

            var application = (Application)sender;

            {
                var graphicsProvider = application.GetService <GraphicsProvider>();

                foreach (var graphicsAdapter in graphicsProvider.GraphicsAdapters)
                {
                    Console.WriteLine($"    Name: {graphicsAdapter.Name}");
                    Console.WriteLine($"        Device ID: {graphicsAdapter.DeviceId}");
                    Console.WriteLine($"        Vendor ID: {graphicsAdapter.VendorId}");
                }
            }
            application.RequestExit();
        }
示例#8
0
        private void OnApplicationIdle()
        {
            // Check to see if anyone cares.
            if (ApplicationIdle == null)
            {
                return;
            }

            // Build the message
            ApplicationIdleEventArgs e = new ApplicationIdleEventArgs(this.lastAppIdleTime);

            // Iterate over all listeners
            foreach (MulticastDelegate multicast in ApplicationIdle.GetInvocationList())
            {
                // Raise the event
                multicast.DynamicInvoke(new object[] { e });
            }
        }
        protected override void OnIdle(object?sender, ApplicationIdleEventArgs eventArgs)
        {
            ExceptionUtilities.ThrowIfNull(sender, nameof(sender));

            _elapsedTime += eventArgs.Delta;

            if (_elapsedTime.TotalSeconds >= 2.5)
            {
                var application = (Application)sender;
                application.RequestExit();
            }

            if (_window.IsVisible)
            {
                Update(eventArgs.Delta);
                Render();
                Present();
            }
        }
示例#10
0
        protected override void OnIdle(object?sender, ApplicationIdleEventArgs eventArgs)
        {
            ExceptionUtilities.ThrowIfNull(sender, nameof(sender));

            _elapsedTime += eventArgs.Delta;

            if (_elapsedTime.TotalSeconds >= 2.5)
            {
                var application = (Application)sender;
                application.RequestExit();
            }

            if (_window.IsVisible)
            {
                var currentGraphicsContext = _graphicsDevice.CurrentGraphicsContext;
                currentGraphicsContext.BeginFrame();

                Update(eventArgs.Delta);
                Render();

                currentGraphicsContext.EndFrame();
                Present();
            }
        }
示例#11
0
        private void OnApplicationIdle()
        {
            // Check to see if anyone cares.
            if (ApplicationIdle == null) return;

            // Build the message
            ApplicationIdleEventArgs e = new ApplicationIdleEventArgs(this.lastAppIdleTime);

            // Iterate over all listeners
            foreach( MulticastDelegate multicast in ApplicationIdle.GetInvocationList() )
            {
                // Raise the event
                try {

                    multicast.DynamicInvoke(new object[] { e });
                } catch (Exception ex) {

                }
            }
        }
示例#12
0
 protected abstract void OnIdle(object?sender, ApplicationIdleEventArgs eventArgs);
示例#13
0
 public abstract void OnIdle(object sender, ApplicationIdleEventArgs eventArgs);