#ifndef SPACE_APPLICATION_H_
#define SPACE_APPLICATION_H_
+#include "../ai/Autopilot.h"
#include "../graphics/Camera.h"
#include "../graphics/Moveable.h"
-#include "../math/Vector.h"
+#include "../graphics/Vector.h"
+#include "../ui/DualGauge.h"
#include "../world/Universe.h"
-#include <SDL/SDL.h>
+#include <SDL.h>
namespace space {
-class InitScreen;
+class Canvas;
+class Ship;
class Application {
public:
- explicit Application(InitScreen &);
+ explicit Application(Canvas &);
public:
void Run();
void Update(int delta_ms);
- Vector<float> FocusVel() const;
-
void Render();
+ void RenderBackground();
+ void RenderGrid();
+ void RenderShips();
+ void RenderUI();
private:
- InitScreen &screen;
+ Canvas &canvas;
Universe univ;
Moveable<float> focus;
Camera cam;
+ Ship *controlled;
+ Vector<int> control;
+
+ DualGauge linGauge;
+ DualGauge rotGauge;
+
+ Autopilot autopilot;
+ bool apEnabled;;
+
Uint32 last;
bool running;
+ bool paused;
};