Files
bluflame/aiwaz/Aiwaz/Engine/Engine.h
2026-04-18 22:31:51 +02:00

43 lines
1.4 KiB
C++

#include "../DeviceEnumerator/DeviceEnumerator.h"
#include "IEngine.h"
class Engine
: public IEngine
{
public:
Engine();
virtual ~Engine();
virtual void Initialize(IDisplayAdapter* ar_Adapter_ = NULL);
virtual void Uninitialize();
virtual bool get_IsInitialized() const { return m_DX10Device != NULL; }
virtual bool get_IsUsingReferenceDriver() const { return m_DriverType == D3D10_DRIVER_TYPE_REFERENCE; }
virtual IResourceFactory& get_ResourceFactory() const { return *m_ResourceFactory; }
virtual ICommonObjectFactory& get_CommonObjectFactory() const { return *m_CommonObjectFactory; }
virtual IFileSystem& get_FileSystem() const { return *m_FileSystem; }
virtual ITimeline& get_Timeline() const { return *m_Timeline; }
virtual IAnimationManager& get_AnimationManager() const { return *m_AnimationManager; }
virtual ID3D10Device& get_DX10Device() const { return *m_DX10Device; }
virtual IDXGIFactory& get_DXGIFactory() const { return *m_DXGIFactory; }
virtual EngineStates& get_EngineStates() { return m_EngineStates; }
private:
IDXGIFactory* m_DXGIFactory;
ID3D10Device* m_DX10Device;
D3D10_DRIVER_TYPE m_DriverType;
IDeviceEnumerator* m_DeviceEnumeration;
IResourceFactory* m_ResourceFactory;
ICommonObjectFactory* m_CommonObjectFactory;
IFileSystem* m_FileSystem;
ITimeline* m_Timeline;
IAnimationManager* m_AnimationManager;
EngineStates m_EngineStates;
};