From 315ca2fb388f790791c9ce372cf44e00d51e0e7f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Tue, 9 Feb 2021 20:34:59 -0500 Subject: Added trigger zones to the map Walking into a trigger zone runs a script. --- src/character_system.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/character_system.cpp') 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 @@ #include "game.h" #include "transform_system.h" #include "animation_system.h" +#include "script_system.h" void CharacterSystem::initSprite(int spriteId) { Sprite& sprite = game_.getSprite(spriteId); @@ -83,10 +84,22 @@ void CharacterSystem::tick(double dt) { if (collision.horiz.blocked) { pLoc.x() = sprite.loc.x();//(newColPosDR * map.getTileSize() - (collisionBox / 2)).x() - 1; + } else if (collision.horiz.colliderSprite != -1) { + Sprite& collider = game_.getSprite(collision.horiz.colliderSprite); + + if (collider.walkthroughScript != "") { + game_.getSystem().runScript(collider.walkthroughScript); + } } if (collision.vert.blocked) { pLoc.y() = sprite.loc.y();//(newColPosDR * map.getTileSize() - (collisionBox / 2)).x() - 1; + } else if (collision.vert.colliderSprite != -1) { + Sprite& collider = game_.getSprite(collision.vert.colliderSprite); + + if (collider.walkthroughScript != "") { + game_.getSystem().runScript(collider.walkthroughScript); + } } if (blocked && sprite.characterState == CharacterState::Running) { -- cgit 1.4.1