mapcreator git · master
SDL3 2.5D game and engine using assets, with map editor
C++ 99.3%git clone https://git.christianimmanuel.de/sdl-graphics/mapcreator.gitwget https://git.christianimmanuel.de/sdl-graphics/mapcreator/archive/mapcreator.tar.gzFix plant and eat logic
src/character/character.cpp | 17 +++++++++-------- src/character/character.hpp | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/character/character.cpp b/src/character/character.cpp index 2becc67..9519f10 100644 --- a/src/character/character.cpp +++ b/src/character/character.cpp @@ -1032,16 +1032,16 @@ Character::cultivate_Stop() { set_Status(CharacterStatus::IDLE); } -void +bool Character::plant_Start() { std::cout << "Plant Start\n"; if (stamina_Get() <= 0) - return; + return false; if (!Farm::soil_IsMaptile(tile_world)) - return; + return false; if (Map::tile_map[static_cast<size_t>(Map::get_IdFromTilePoint(tile_world))].objects.size() > 0) { std::cout << "SIZE:: " << Map::tile_map[static_cast<size_t>(Map::get_IdFromTilePoint(tile_world))].objects.size() << std::endl; - return; + return false; } set_Status(CharacterStatus::PLANTING); @@ -1051,6 +1051,7 @@ Character::plant_Start() { planting_logic.tile_world = tile_world; planting_logic.type = static_cast<InventoryVegetable*>(selected_item)->type; planting_logic.is_seed = !static_cast<InventoryVegetable*>(selected_item)->is_seed; + return true; } void @@ -1792,12 +1793,12 @@ Character::handle_Input(Input& input, SDL_Rect win_size) { switch (selected_item->object_type) { case InventoryObjectType::VEGETABLE: case InventoryObjectType::SEED: - plant_Start(); - return; + if (plant_Start()) + return; default: break; } - } else - if (!consuming_logic.is_consuming && selected_item->object_type == InventoryObjectType::VEGETABLE) { + } + if (!planting_logic.is_planting && !consuming_logic.is_consuming && selected_item->object_type == InventoryObjectType::VEGETABLE) { eat_Start(); } } diff --git a/src/character/character.hpp b/src/character/character.hpp index 9f072c2..6842fbd 100644 --- a/src/character/character.hpp +++ b/src/character/character.hpp @@ -289,7 +289,7 @@ class Character { void cultivate_Soil(); void cultivate_Stop(); - void plant_Start(); + bool plant_Start(); void plant_Vegetable(); void plant_Stop();