Vixen
02b45cc4
csharp
public sealed class VixenApplication

An application that has been built and is ready to run.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Owns the platform, the window, the job system and the frame loop, and tears them down in the reverse of the order it built them. Every step it takes is a public method or a documented call an application can make itself — docs/plan/17's rule that nothing in the boot path is inaccessible, which is the property the prebuilt-player model cannot offer.

Belongs to the thread that built it, because the platform does.

Fields and properties (5)

  • public AppServices Services

    Everything the host built.

  • public GameTime Time

    The clock, as the last frame saw it.

  • public float TimeScale

    How fast simulated time runs: 1 for real time, 0 to pause, above 1 to fast-forward.

  • public bool IsStopping

    Whether the loop has been asked to stop.

  • public SceneHandle StartupScene

    The scene StartupScene named, once it has been loaded.

Methods (6)

  • public int Run()

    Runs until the application quits.

  • public void Initialise()

    Builds the window, mounts the file system and calls OnInitialise.

  • public void RunFrame()

    Runs one frame: events, main-thread work, and — unless the frame's own events ended the application — update, render, pacing.

  • public void Stop()

    Asks the application to stop after the current frame.

  • public void Shutdown()

    Calls OnShutdown and tears everything down.

  • public void Dispose()

    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Used by (13)

  • ProgramPbrShowcase
  • ProgramHelloTriangle
  • ProgramVideoPlayback
  • ProgramVirtualGeometry
  • AppBuilderVixen.App.Hosting
  • AppBackendTestsVixen.App.Tests
  • HostedEngineTestsVixen.App.Tests
  • HostedRendererTestsVixen.App.Tests
  • RemoteContentMountTestsVixen.App.Tests
  • StartupSceneTestsVixen.App.Tests
  • VixenAppVixen.App
  • VixenApplicationTestsVixen.App.Tests
  • RealmAppVixen.Live.Realm