1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/framework/platform/game-dx.hpp

54 lines
1007 B
C++
Raw Normal View History

2024-03-21 16:01:47 -03:00
#ifndef XNA_PLATFORM_GAME_DX_HPP
#define XNA_PLATFORM_GAME_DX_HPP
2024-04-20 13:39:19 -03:00
#include "../default.hpp"
2024-03-21 16:01:47 -03:00
#include "../game/game.hpp"
2024-04-23 16:11:17 -03:00
#include "dxheaders.hpp"
#include "dx/StepTimer.hpp"
2024-03-21 16:01:47 -03:00
namespace xna {
class Game : public IGame {
public:
Game();
virtual ~Game() override {
}
2024-04-22 16:14:55 -03:00
virtual void Exit() override;
2024-03-21 16:01:47 -03:00
virtual int Run() override;
2024-04-26 11:35:59 -03:00
virtual sptr<GameWindow> Window() override {
return _gameWindow;
}
2024-03-21 16:01:47 -03:00
2024-04-26 11:35:59 -03:00
virtual sptr<GraphicsDevice> GetGraphicsDevice() override {
2024-04-07 14:06:12 -03:00
return _graphicsDevice;
2024-04-01 14:37:07 -03:00
}
2024-03-21 16:01:47 -03:00
protected:
2024-04-23 16:11:17 -03:00
virtual void Draw(GameTime const& gameTime) override;
2024-04-20 13:39:19 -03:00
virtual void Initialize() override;
virtual void LoadContent() override{}
2024-04-20 13:39:19 -03:00
virtual void Update(GameTime const& gameTime) override;
2024-03-21 16:01:47 -03:00
public:
2024-04-26 11:35:59 -03:00
sptr<GraphicsDevice> _graphicsDevice{ nullptr };
protected:
2024-04-26 11:35:59 -03:00
sptr<GameWindow> _gameWindow{ nullptr };
sptr<AudioEngine> _audioEngine = nullptr;
2024-03-21 16:01:47 -03:00
2024-03-23 17:23:07 -03:00
GameTime _currentGameTime{};
2024-04-23 16:11:17 -03:00
DX::StepTimer _stepTimer;
2024-03-23 17:23:07 -03:00
private:
int startLoop();
2024-04-23 16:11:17 -03:00
void step();
2024-03-21 16:01:47 -03:00
};
}
#endif