#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; };