#ifndef MAP_MAPSTATE_H_
#define MAP_MAPSTATE_H_
+#include "Entity.h"
#include "fwd.h"
#include "../app/State.h"
#include "../geometry/Vector.h"
#include "../graphics/Camera.h"
+#include <vector>
+
namespace map {
class MapState
virtual void UpdateWorld(float deltaT);
virtual void Render(SDL_Surface *);
+public:
+ void AddEntity(Entity *e) { entities.push_back(e); }
+ void ControlEntity(Entity *e) { controlled = e; camera.SetTarget(&e->Position()); }
+
+private:
+ static bool ZCompare(const Entity *lhs, const Entity *rhs);
+
private:
const Map *map;
- geometry::Vector<int> tempTarget;
+ Entity *controlled;
+ geometry::Vector<float> tempTarget;
graphics::Camera camera;
+ std::vector<Entity *> entities;
};