]> git.localhorst.tv Git - l2e.git/blobdiff - src/map/MapState.h
added 500ms blackness between map transitions
[l2e.git] / src / map / MapState.h
index 86e2813576e3c4dddcf369c8a7783233add271d6..dc352f69522636e5f2248076f6cddb59bea2a804 100644 (file)
@@ -22,7 +22,7 @@ class MapState
 : public app::State {
 
 public:
-       explicit MapState(const Map *);
+       explicit MapState(Map *);
        virtual ~MapState() { }
 
 public:
@@ -42,17 +42,41 @@ public:
 
        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(bool);
+
+       void UpdateFollower(Entity &);
+       void StopFollowers(Entity &);
+
+       void LockEntities();
+       void CheckMonster();
+       void CheckTrigger();
+
 private:
-       const Map *map;
+       app::Application *ctrl;
+       Map *map;
        Entity *controlled;
+       app::Timer<float> moveTimer;
        geometry::Vector<float> tempTarget;
+       geometry::Vector<int> lastLock;
        graphics::Camera camera;
        std::vector<Entity *> entities;
        float walkingSpeed;
        int nextDirection;
+       bool afterLock;
+       bool skipLock;
+       bool debug;
 
 };