mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-01-05 17:13:36 +08:00
61 lines
1.5 KiB
C
61 lines
1.5 KiB
C
|
//===== Copyright (c) 1996-2009, Valve Corporation, All rights reserved. ====//
|
||
|
//
|
||
|
// Purpose: Contains all utility methods for the new game UI system
|
||
|
//
|
||
|
//===========================================================================//
|
||
|
|
||
|
|
||
|
#ifndef GAMEUI_H
|
||
|
#define GAMEUI_H
|
||
|
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#include "igamesystem.h"
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Forward declarations
|
||
|
//-----------------------------------------------------------------------------
|
||
|
struct Rect_t;
|
||
|
struct InputEvent_t;
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Create a game system for UI
|
||
|
//-----------------------------------------------------------------------------
|
||
|
class CGameUIGameSystem : public CBaseGameSystemPerFrame
|
||
|
{
|
||
|
// Inherited from IGameSystem
|
||
|
public:
|
||
|
virtual bool Init();
|
||
|
virtual void PostInit();
|
||
|
virtual void Update( float frametime );
|
||
|
virtual void Shutdown();
|
||
|
|
||
|
// Other public methods
|
||
|
public:
|
||
|
// Init any render targets needed by the UI.
|
||
|
void InitRenderTargets();
|
||
|
IMaterialProxy *CreateProxy( const char *proxyName );
|
||
|
|
||
|
// Renders the game UI
|
||
|
void Render( const Rect_t &viewport, float flCurrentTime );
|
||
|
|
||
|
// Send an input event to the game ui
|
||
|
bool RegisterInputEvent( const InputEvent_t &iEvent );
|
||
|
|
||
|
// Reloads game GUI sounds
|
||
|
void ReloadSounds();
|
||
|
|
||
|
private:
|
||
|
void PrecacheGameUISounds();
|
||
|
};
|
||
|
|
||
|
extern CGameUIGameSystem *g_pGameUIGameSystem;
|
||
|
|
||
|
|
||
|
#endif // GAMEUI_H
|