summary refs log tree commit diff stats
path: root/src/character_system.cpp
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2021-02-09 20:34:59 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2021-02-09 20:34:59 -0500
commit315ca2fb388f790791c9ce372cf44e00d51e0e7f (patch)
tree99fd0a66ce191959c73fe5058e538a4dcd07100e /src/character_system.cpp
parent0c2cd251fa0427b19f7c995bc7da7319d2ac80a5 (diff)
downloadtanetane-315ca2fb388f790791c9ce372cf44e00d51e0e7f.tar.gz
tanetane-315ca2fb388f790791c9ce372cf44e00d51e0e7f.tar.bz2
tanetane-315ca2fb388f790791c9ce372cf44e00d51e0e7f.zip
Added trigger zones to the map
Walking into a trigger zone runs a script.
Diffstat (limited to 'src/character_system.cpp')
-rw-r--r--src/character_system.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/character_system.cpp b/src/character_system.cpp index fcd69dd..d4765bf 100644 --- a/src/character_system.cpp +++ b/src/character_system.cpp
@@ -5,6 +5,7 @@
5#include "game.h" 5#include "game.h"
6#include "transform_system.h" 6#include "transform_system.h"
7#include "animation_system.h" 7#include "animation_system.h"
8#include "script_system.h"
8 9
9void CharacterSystem::initSprite(int spriteId) { 10void CharacterSystem::initSprite(int spriteId) {
10 Sprite& sprite = game_.getSprite(spriteId); 11 Sprite& sprite = game_.getSprite(spriteId);
@@ -83,10 +84,22 @@ void CharacterSystem::tick(double dt) {
83 84
84 if (collision.horiz.blocked) { 85 if (collision.horiz.blocked) {
85 pLoc.x() = sprite.loc.x();//(newColPosDR * map.getTileSize() - (collisionBox / 2)).x() - 1; 86 pLoc.x() = sprite.loc.x();//(newColPosDR * map.getTileSize() - (collisionBox / 2)).x() - 1;
87 } else if (collision.horiz.colliderSprite != -1) {
88 Sprite& collider = game_.getSprite(collision.horiz.colliderSprite);
89
90 if (collider.walkthroughScript != "") {
91 game_.getSystem<ScriptSystem>().runScript(collider.walkthroughScript);
92 }
86 } 93 }
87 94
88 if (collision.vert.blocked) { 95 if (collision.vert.blocked) {
89 pLoc.y() = sprite.loc.y();//(newColPosDR * map.getTileSize() - (collisionBox / 2)).x() - 1; 96 pLoc.y() = sprite.loc.y();//(newColPosDR * map.getTileSize() - (collisionBox / 2)).x() - 1;
97 } else if (collision.vert.colliderSprite != -1) {
98 Sprite& collider = game_.getSprite(collision.vert.colliderSprite);
99
100 if (collider.walkthroughScript != "") {
101 game_.getSystem<ScriptSystem>().runScript(collider.walkthroughScript);
102 }
90 } 103 }
91 104
92 if (blocked && sprite.characterState == CharacterState::Running) { 105 if (blocked && sprite.characterState == CharacterState::Running) {