2024-03-21 16:01:47 -03:00
|
|
|
#ifndef XNA_GAME_GAME_HPP
|
|
|
|
#define XNA_GAME_GAME_HPP
|
|
|
|
|
2024-05-06 10:32:17 -03:00
|
|
|
#include "../default.hpp"
|
2024-03-21 16:01:47 -03:00
|
|
|
#include "time.hpp"
|
2024-05-06 10:32:17 -03:00
|
|
|
#include "component.hpp"
|
|
|
|
#include "servicecontainer.hpp"
|
2024-03-21 16:01:47 -03:00
|
|
|
|
|
|
|
namespace xna {
|
|
|
|
class IGame {
|
|
|
|
public:
|
|
|
|
virtual void Exit() = 0;
|
|
|
|
virtual int Run() = 0;
|
2024-04-26 11:35:59 -03:00
|
|
|
virtual sptr<GameWindow> Window() = 0;
|
|
|
|
virtual sptr<GraphicsDevice> GetGraphicsDevice() = 0;
|
2024-04-27 00:10:07 -03:00
|
|
|
virtual sptr<GameComponentCollection> Components() = 0;
|
2024-05-06 10:32:17 -03:00
|
|
|
virtual sptr<GameServiceContainer> Services() = 0;
|
2024-05-06 14:54:13 -03:00
|
|
|
virtual sptr<ContentManager> Content() = 0;
|
2024-03-21 16:01:47 -03:00
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual void Draw(GameTime const& gameTime) = 0;
|
|
|
|
virtual void Initialize() = 0;
|
2024-04-16 16:13:36 -03:00
|
|
|
virtual void LoadContent() = 0;
|
2024-03-30 14:25:08 -03:00
|
|
|
virtual void Update(GameTime const& gameTime) = 0;
|
2024-03-21 16:01:47 -03:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|