Now the loot UI can work with any container and only uses an ECS id to work, not have its own contents.

This commit is contained in:
Zed A. Shaw 2025-06-21 10:51:45 -04:00
parent a0eff927b6
commit 812407c3df
6 changed files with 70 additions and 34 deletions

View file

@ -5,6 +5,8 @@
namespace System {
using namespace components;
using namespace DinkyECS;
using std::string;
void lighting(GameLevel &level);
void motion(GameLevel &level);
@ -14,19 +16,24 @@ namespace System {
void enemy_pathing(GameLevel &level);
void enemy_ai_initialize(GameLevel &level);
void init_positions(DinkyECS::World &world, SpatialMap &collider);
void device(DinkyECS::World &world, DinkyECS::Entity actor, DinkyECS::Entity item);
void plan_motion(DinkyECS::World& world, Point move_to);
void init_positions(World &world, SpatialMap &collider);
void device(World &world, Entity actor, Entity item);
void plan_motion(World& world, Point move_to);
std::wstring draw_map(GameLevel level, size_t view_x, size_t view_y, int compass_dir);
DinkyECS::Entity spawn_item(DinkyECS::World& world, const std::string& name);
bool drop_item(GameLevel& level, DinkyECS::Entity item);
Entity spawn_item(World& world, const string& name);
bool drop_item(GameLevel& level, Entity item);
void enemy_ai(GameLevel &level);
void combat(GameLevel &level, int attack_id);
std::shared_ptr<sf::Shader> sprite_effect(GameLevel &level, DinkyECS::Entity entity);
std::shared_ptr<sf::Shader> sprite_effect(GameLevel &level, Entity entity);
void player_status(GameLevel &level);
void distribute_loot(DinkyECS::World &world, DinkyECS::Entity& ent, nlohmann::json& entity_data);
void distribute_loot(World &world, Entity& ent, nlohmann::json& entity_data);
void pickup(GameLevel &level, Entity entity);
bool place_in_container(World& world, Entity cont_id, const string& name, Entity world_entity);
void remove_from_container(World& world, Entity cont_id, const string& name);
void pickup(GameLevel &level, DinkyECS::Entity entity);
}