#pragma once #include "dinkyecs.hpp" #include "map.hpp" #include "components.hpp" #include namespace System { using namespace components; using namespace lighting; void lighting(DinkyECS::World &world, Map &game_map, LightRender &light, Player &player); void motion(DinkyECS::World &world, Map &game_map); void collision(DinkyECS::World &world, Player &player); void death(DinkyECS::World &world); void enemy_pathing(DinkyECS::World &world, Map &game_map, Player &player); void draw_map(DinkyECS::World &world, Map &game_map, const Matrix &lighting, ftxui::Canvas &canvas, size_t view_x, size_t view_y); void draw_entities(DinkyECS::World &world, Map &game_map, const Matrix &lighting, ftxui::Canvas &canvas, const Point &cam_orig, size_t view_x, size_t view_y); void init_positions(DinkyECS::World &world); }