diff options
| author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-16 22:03:10 -0500 |
|---|---|---|
| committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-16 22:03:10 -0500 |
| commit | a645524d19bb9183d4eece72bf8945bba4bed3a0 (patch) | |
| tree | ca45cb80f73def5bd6bd8d7ec46bb90c826be848 /src/camera_system.h | |
| parent | c5a96f0ee23a3dbe1a6dab0a1062cf25b7a2aba4 (diff) | |
| download | tanetane-a645524d19bb9183d4eece72bf8945bba4bed3a0.tar.gz tanetane-a645524d19bb9183d4eece72bf8945bba4bed3a0.tar.bz2 tanetane-a645524d19bb9183d4eece72bf8945bba4bed3a0.zip | |
Added scriptable camera panning
Diffstat (limited to 'src/camera_system.h')
| -rw-r--r-- | src/camera_system.h | 16 |
1 files changed, 16 insertions, 0 deletions
| diff --git a/src/camera_system.h b/src/camera_system.h index 37ff8b4..a2dee93 100644 --- a/src/camera_system.h +++ b/src/camera_system.h | |||
| @@ -24,6 +24,13 @@ public: | |||
| 24 | 24 | ||
| 25 | void unlockCamera() { locked_ = false; } | 25 | void unlockCamera() { locked_ = false; } |
| 26 | 26 | ||
| 27 | // Pans over to the provided sprite over the provided amount of time. | ||
| 28 | // - length is in milliseconds | ||
| 29 | // Automatically locks the camera. | ||
| 30 | void panToSprite(int targetId, int length); | ||
| 31 | |||
| 32 | bool isPanning() const { return panning_; } | ||
| 33 | |||
| 27 | void tick(double dt) override; | 34 | void tick(double dt) override; |
| 28 | 35 | ||
| 29 | void destroySprite(int spriteId) override; | 36 | void destroySprite(int spriteId) override; |
| @@ -31,12 +38,21 @@ public: | |||
| 31 | void clearSpriteCache() override; | 38 | void clearSpriteCache() override; |
| 32 | 39 | ||
| 33 | private: | 40 | private: |
| 41 | |||
| 42 | vec2i calculatePosWithCenter(vec2i center) const; | ||
| 43 | |||
| 34 | Game& game_; | 44 | Game& game_; |
| 35 | 45 | ||
| 36 | vec2i pos_; | 46 | vec2i pos_; |
| 37 | vec2i fov_ { CANVAS_WIDTH, CANVAS_HEIGHT }; | 47 | vec2i fov_ { CANVAS_WIDTH, CANVAS_HEIGHT }; |
| 38 | int followingSprite_ = -1; | 48 | int followingSprite_ = -1; |
| 39 | bool locked_ = true; | 49 | bool locked_ = true; |
| 50 | |||
| 51 | bool panning_ = false; | ||
| 52 | vec2i panStart_; | ||
| 53 | vec2i panEnd_; | ||
| 54 | double panLength_ = 0.0; | ||
| 55 | double panThus_ = 0.0; | ||
| 40 | }; | 56 | }; |
| 41 | 57 | ||
| 42 | #endif /* end of include guard: CAMERA_SYSTEM_H_D52ADAD3 */ | 58 | #endif /* end of include guard: CAMERA_SYSTEM_H_D52ADAD3 */ |
