demotool/globals.hh

31 lines
795 B
C++

#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 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_TextureManager& Textures( ) { return *textures_; }
static T_ShaderManager& Shaders( ) { return *shaders_; }
private:
static std::unique_ptr< T_FilesWatcher > watcher_;
static std::unique_ptr< T_Window > window_;
static std::unique_ptr< T_Profiler > profiler_;
static std::unique_ptr< T_ShaderManager > shaders_;
static std::unique_ptr< T_TextureManager > textures_;
};