Vixen
02b45cc4
csharp
public abstract class Game

What an application overrides.

Read the guide page for this →

Remarks

Six hooks, all optional, called in a fixed order the host documents and does not vary. There is deliberately nothing else on this type: no scene, no world, no content manager. Those belong to Vixen.Engine in Phase 2, which layers on top of this rather than replacing it — so an application that wants a frame loop and a window and nothing else does not acquire an entity-component system by accident.

This is also what makes the application-framework claim testable: a dotnet new vixen-app project derives from Game and never references Vixen.Engine.

Fields and properties (1)

  • protected AppServices Services

    Everything the host built, available from OnInitialise onwards.

Methods (8)

  • protected internal virtual void OnConfigure(AppConfig config)

    Decides what to build, before anything is built.

  • protected internal virtual void OnInitialise()

    Runs once, after the platform, window and services exist.

  • protected internal virtual bool OnEvent(in PlatformEvent platformEvent)

    Offered every platform event, in the order they happened, before the host acts on it.

  • protected internal virtual void OnUpdate(GameTime time)

    Runs once per frame, before OnRender.

  • protected internal virtual void OnRender(GameTime time)

    Runs once per frame, after OnUpdate.

  • protected internal virtual void OnShutdown()

    Runs once, before the services are torn down.

  • public void Dispose()

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

  • protected virtual void Dispose(bool disposing)

    Releases what the application owns.

Used by (31)

  • PbrShowcaseGamePbrShowcase
  • ThirdPersonShooterGameThirdPersonShooter
  • TriangleGameHelloTriangle
  • VideoGameVideoPlayback
  • VirtualGeometryGameVirtualGeometry
  • AppBuilderVixen.App.Hosting
  • VixenApplicationVixen.App.Hosting
  • ChoosingGameVixen.App.Tests
  • EarlyServiceGameVixen.App.Tests
  • HeadlessVixen.App.Tests
  • HostedEngineTestsVixen.App.Tests
  • HostedRendererTestsVixen.App.Tests
  • InterceptingGameVixen.App.Tests
  • NoEngineGameVixen.App.Tests
  • NoWindowGameVixen.App.Tests
  • OrderingGameVixen.App.Tests
  • PostingGameVixen.App.Tests
  • RecordingGameVixen.App.Tests
  • RecordingGameVixen.App.Tests
  • SilentVixen.App.Tests
  • SilentGameVixen.App.Tests
  • SilentGameVixen.App.Tests
  • SilentGameVixen.App.Tests
  • SilentGameVixen.App.Tests
  • StartupSceneTestsVixen.App.Tests
  • StoppingGameVixen.App.Tests
  • ThrowingGameVixen.App.Tests
  • VixenAppVixen.App
  • VixenApplicationTestsVixen.App.Tests
  • WindowedGameVixen.App.Tests
  • RealmVixen.Live.Realm