Files
Leviathan/Client/Game/engine/Renderer/KDeviceManager.h
T
2026-06-01 12:46:52 +02:00

64 lines
1.2 KiB
C++

#ifndef __KDEVICEMANAGER__H
#define __KDEVICEMANAGER__H
//#include "KSound.h"
#include "KRenderDevice.h"
#include "KRenderDeviceDX.h"
//#include "KResourceManager.h" by Testors
class KDeviceManager
{
public:
HWND GethWnd()
{
return m_hWnd;
}
HINSTANCE GethInst()
{
return m_hInst;
}
K3DRenderDevice * GetRenderDevice()
{
return m_pRenderDevice;
}
//KSoundDevice * GetSoundDevice()
//{
// return m_pSoundDevice;
//}
// KMusicDevice * GetMusicDevice()
//{
// return m_pMusicDevice;
//}
static void SetDeviceManager(KDeviceManager * pDeviceManager)
{
m_pDeviceManager = pDeviceManager;
}
static KDeviceManager * GetDeviceManager()
{
return m_pDeviceManager;
}
void Clear();
protected:
KDeviceManager();
virtual ~KDeviceManager();
HWND m_hWnd;
HINSTANCE m_hInst;
K3DRenderDevice * m_pRenderDevice;
// KSoundDevice * m_pSoundDevice;
// KMusicDevice * m_pMusicDevice;
static KDeviceManager * m_pDeviceManager;
};
class KDeviceManagerDX : public KDeviceManager
{
public:
static void Initialize(HWND hWnd, HINSTANCE hInst, const K3DRenderDeviceDX::CS & cs);
protected:
KDeviceManagerDX(HWND hWnd, HINSTANCE hInst, const K3DRenderDeviceDX::CS & cs);
};
#endif