Class Application

Inheritance Relationships

Derived Types

Class Documentation

class Application

Interface for a Rootex application. Every application that uses Rootex should derive this class.

Subclassed by EditorApplication, GameApplication

Public Functions

Application(const String &appTitle, const String &settingsFile)
virtual ~Application()
void run()
virtual void process(float deltaMilliseconds)
void end()
void createSaveSlot(int slot)
bool loadSave(int slot)
JSON::json &getSaveData()
bool saveSlot()
const String &getAppTitle() const
const Timer &getAppTimer() const
ThreadPool &getThreadPool()
const FrameTimer &getAppFrameTimer() const
Window *getWindow()
ApplicationSettings *getSettings()
Vector<FilePath> getLibrariesPaths()

Returns paths of all third-party libraries provided by rootex/vendor/.

void destroySplashWindow()
float *getDeltaMultiplierPtr()
float getDeltaMultiplier() const
void setDeltaMultiplier(float gain)
void resetDeltaMultiplier()

Public Static Functions

static Application *GetSingleton()

Protected Functions

String getSaveSlotPath(int slot)

Protected Attributes

Timer m_ApplicationTimer
FrameTimer m_FrameTimer
ThreadPool m_ThreadPool
float m_DeltaMultiplier = 1.0f
String m_ApplicationTitle
int m_CurrentSaveSlot
JSON::json m_CurrentSaveData
Ptr<SplashWindow> m_SplashWindow
Ptr<Window> m_Window
Ptr<ApplicationSettings> m_ApplicationSettings