void SetWalkingSpeed(float s) { walkingSpeed = s; }
+ void Transition(Map *, const geometry::Vector<int> &coordinates);
+
private:
static bool ZCompare(const Entity *lhs, const Entity *rhs);
+
+ void UnloadMap();
+ void LoadMap(Map *);
+
+ bool CheckBlocking() const;
+
+ void OnTileLock();
void OnGridLock();
- void OnMove();
+ void OnMove(bool);
+
+ void UpdateFollower(Entity &);
+ void StopFollowers(Entity &);
+
+ void LockEntities();
+ void CheckMonster();
+ void CheckTrigger();
private:
Map *map;
Entity *controlled;
+ app::Timer<float> moveTimer;
geometry::Vector<float> tempTarget;
geometry::Vector<int> lastLock;
graphics::Camera camera;
float walkingSpeed;
int nextDirection;
bool afterLock;
+ bool skipLock;
+ bool debug;
};