From 05ee221cd31a782b699cc6d62e0d275364cfd7cc Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Wed, 10 Feb 2021 19:57:23 -0500 Subject: Player is no longer controllable during map transitions --- src/game.cpp | 2 +- src/main.cpp | 1 + src/script_system.cpp | 7 ++++--- src/sprite.h | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/game.cpp b/src/game.cpp index 4d44a63..8b6ef8f 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -34,7 +34,7 @@ void Game::loadMap(std::string filename, std::string warpPoint, Direction dir) { getSystem().setUpCollision(lucasSprite, {-8, -8}, {12, 8}, true); getSystem().initSprite(lucasSprite, "../res/sprites/lucas_anim.txt"); getSystem().setSpriteDirection(lucasSprite, dir); - getSprite(lucasSprite).controllable = true; + getSprite(lucasSprite).player = true; getSystem().initSprite(lucasSprite); int kumaSprite = emplaceSprite("kuma"); diff --git a/src/main.cpp b/src/main.cpp index ddc8df2..387f7e3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -23,6 +23,7 @@ void loop(Renderer& renderer) { game.emplaceSystem(); game.loadMap("../res/maps/map1.tmx", "spawn", Direction::down); + game.getSprite(game.getSpriteByAlias("lucas")).controllable = true; renderer.render(game); diff --git a/src/script_system.cpp b/src/script_system.cpp index e388c6e..8fd5028 100644 --- a/src/script_system.cpp +++ b/src/script_system.cpp @@ -15,7 +15,8 @@ ScriptSystem::ScriptSystem(Game& game) : game_(game) { "sprite", "dir", &Sprite::dir, "followers", &Sprite::followers, - "characterState", &Sprite::characterState); + "characterState", &Sprite::characterState, + "controllable", &Sprite::controllable); engine_.new_usertype( "message", @@ -69,11 +70,11 @@ ScriptSystem::ScriptSystem(Game& game) : game_(game) { }); engine_.set_function( - "getControllableSprite", + "getPlayerSprite", [&] () -> int { for (int id : game_.getSprites()) { Sprite& sprite = game_.getSprite(id); - if (sprite.controllable) { + if (sprite.player) { return id; } } diff --git a/src/sprite.h b/src/sprite.h index 283fb65..6ef2f57 100644 --- a/src/sprite.h +++ b/src/sprite.h @@ -61,6 +61,7 @@ public: // Input bool controllable = false; + bool player = false; }; #endif /* end of include guard: SPRITE_H_70503825 */ -- cgit 1.4.1