Sound Bakery  v0.1.0
Open-source audio middleware for games
Loading...
Searching...
No Matches
Subsystem.h
1#pragma once
2
3#include "pch.h"
4
5class App;
6
8{
9public:
10 Subsystem() = delete;
11 Subsystem(App* appOwner)
12 : m_app(appOwner) { }
13
14public:
22 virtual int PreInit(int ArgC, char* ArgV[]) { return 0; }
23
29 virtual int Init() { return 0; }
30
35 virtual void PreTick(double deltaTime) {}
36
41 virtual void Tick(double deltaTime) {}
42
47 virtual void TickRendering(double deltaTime) {}
48
53 virtual void Exit() {}
54
55public:
56 App* GetApp() const { return m_app; }
57
58protected:
59 App* m_app = nullptr;
60};
Definition App.h:10
Definition Subsystem.h:8
virtual int PreInit(int ArgC, char *ArgV[])
Runs as early as possible and provides command line arguments.
Definition Subsystem.h:22
virtual void PreTick(double deltaTime)
Runs before to tick to get if the app should close or set up a new frame.
Definition Subsystem.h:35
virtual int Init()
Init the subsystem / start.
Definition Subsystem.h:29
virtual void Exit()
Called when closing the app.
Definition Subsystem.h:53
virtual void Tick(double deltaTime)
Called every frame regardless of if the app is closing.
Definition Subsystem.h:41
virtual void TickRendering(double deltaTime)
Called every frame if the app is NOT closing.
Definition Subsystem.h:47