Now systems.cpp is disconnected from levelmanager. That leaves the GUIs and then to completely remove it and clean up the api.

This commit is contained in:
Zed A. Shaw 2025-08-19 11:05:32 -04:00
parent 81e25f73bb
commit d5ff57e025
9 changed files with 106 additions and 89 deletions

View file

@ -1,45 +1,46 @@
#pragma once
#include "components.hpp"
#include "levelmanager.hpp"
#include <SFML/Graphics/RenderTexture.hpp>
#include "map.hpp"
#include "spatialmap.hpp"
namespace System {
using namespace components;
using namespace DinkyECS;
using std::string;
using std::string, matrix::Matrix;
void lighting(GameLevel &level);
void motion(GameLevel &level);
void collision(GameLevel &level);
void death(GameLevel &level);
void generate_paths(GameLevel &level);
void enemy_pathing(GameLevel &level);
void enemy_ai_initialize(GameLevel &level);
void lighting();
void motion();
void collision();
void death();
void generate_paths();
void enemy_pathing();
void enemy_ai_initialize();
void device(World &world, Entity actor, Entity item);
void plan_motion(GameLevel& level, Position move_to);
void plan_motion(Position move_to);
Entity spawn_item(World& world, const string& name);
void drop_item(GameLevel& level, Entity item);
void drop_item(Entity item);
void enemy_ai(GameLevel &level);
void combat(GameLevel& level, int attack_id);
void enemy_ai();
void combat(int attack_id);
std::shared_ptr<sf::Shader> sprite_effect(GameLevel &level, Entity entity);
void player_status(GameLevel &level);
void distribute_loot(GameLevel &level, Position target_pos);
std::shared_ptr<sf::Shader> sprite_effect(Entity entity);
void player_status();
void distribute_loot(Position target_pos);
void pickup(GameLevel &level);
void pickup();
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 std::string& name);
void remove_from_world(GameLevel &level, Entity entity);
void inventory_swap(GameLevel &level, Entity container_id, const std::string& a_name, const std::string &b_name);
bool inventory_occupied(GameLevel& level, Entity container_id, const std::string& name);
void remove_from_world(Entity entity);
void inventory_swap(Entity container_id, const std::string& a_name, const std::string &b_name);
bool inventory_occupied(Entity container_id, const std::string& name);
void draw_map(GameLevel& level, Matrix& grid, EntityGrid& entity_map);
void draw_map(Matrix& grid, EntityGrid& entity_map);
void render_map(Matrix& tiles, EntityGrid& entity_map, sf::RenderTexture& render, int compass_dir, wchar_t player_display);
void set_position(DinkyECS::World& world, SpatialMap& collision, Entity entity, Position pos);
bool use_item(GameLevel& level, const std::string& slot_name);
bool use_item(const std::string& slot_name);
}