Vixen
02b45cc4
csharp
public static class VixenApp

The one line an application's Program.cs usually is.

Read the guide page for this →

Remarks

return VixenApp.Run<MyGame>(args); and nothing else. The sequence it runs through is Create → Build → Run, all of which are public, so an application that wants control inlines the three calls and edits the middle one rather than fighting a host that will not let go.

That property is deliberate and worth protecting: docs/plan/17 chose the "the app is the executable" model precisely so that nothing in the boot path is a black box, and a convenience method that hid steps would give the property away for the sake of one line.

⚠ This is the only place the default backends are installed. Everything else in the host is in Vixen.App.Hosting, under Core/, which may not reference Platform/ — so an AppBuilder constructed directly has neither a platform nor a device and says so. That is what makes this class three lines long and what makes those three lines load-bearing.

Methods (2)

  • public static int Run<TGame>(string[]? arguments = null) where TGame : Game, new()

    Builds and runs an application.

  • public static AppBuilder Create(string[]? arguments = null)

    Starts configuring an application, on the backends this package ships.

Used by (11)

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