#pragma once
#ifndef REAL_BUILD
# include "externals.hh"
#endif

struct T_OutputDebugger;
struct T_Profiler;
struct T_ShaderManager;
struct T_TextureManager;
struct T_UIApp;
struct T_UISync;


struct UI
{
    public:
	static void Init( ) noexcept;
	static void Shutdown( ) noexcept;

	static T_UIApp& Main( ) noexcept;
	static T_Profiler& Profiler( ) noexcept;
	static T_TextureManager& Textures( ) noexcept;
	static T_ShaderManager& Shaders( ) noexcept;
	static T_OutputDebugger& ODbg( ) noexcept;
	static T_UISync& Sync( ) noexcept;

    private:
	UI( ) = delete;
	NO_COPY( UI );
	NO_MOVE( UI );
};