#pragma once #ifndef REAL_BUILD # include "externals.hh" #endif struct T_Window; struct T_FilesWatcher; struct T_Profiler; struct T_TextureManager; struct T_ShaderManager; struct T_OutputDebugger; struct T_SyncManager; struct T_ScriptManager; class T_UndoManager; struct Globals { static void Init( ); static void Shutdown( ); static T_FilesWatcher& Watcher( ) { return *watcher_; } static T_Window& Window( ) { return *window_; } static T_Profiler& Profiler( ) { return *profiler_; } static T_SyncManager& Sync( ) { return *sync_; } static T_TextureManager& Textures( ) { return *textures_; } static T_ShaderManager& Shaders( ) { return *shaders_; } static T_OutputDebugger& ODbg( ) { return *odbg_; } static T_ScriptManager& Ops( ) { return *ops_; } static T_UndoManager& Undo( ) { return *undo_; } private: static T_OwnPtr< T_FilesWatcher > watcher_; static T_OwnPtr< T_Window > window_; static T_OwnPtr< T_Profiler > profiler_; static T_OwnPtr< T_SyncManager > sync_; static T_OwnPtr< T_ShaderManager > shaders_; static T_OwnPtr< T_TextureManager > textures_; static T_OwnPtr< T_OutputDebugger > odbg_; static T_OwnPtr< T_ScriptManager > ops_; static T_OwnPtr< T_UndoManager > undo_; };