|
|
|
#pragma once
|
|
|
|
#include "dinkyecs.hpp"
|
|
|
|
#include "map.hpp"
|
|
|
|
#include "components.hpp"
|
|
|
|
#include <ftxui/dom/canvas.hpp>
|
|
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
}
|