First step in refactoring to allow for multiple levels. Next is to clean up the APIs and sort out how things will be notified that they have to switch levels.
This commit is contained in:
parent
3344181a47
commit
c14efee9ea
9 changed files with 100 additions and 96 deletions
19
systems.hpp
19
systems.hpp
|
@ -1,21 +1,20 @@
|
|||
#pragma once
|
||||
#include "dinkyecs.hpp"
|
||||
#include "map.hpp"
|
||||
#include "components.hpp"
|
||||
#include "levelmanager.hpp"
|
||||
#include <ftxui/dom/canvas.hpp>
|
||||
|
||||
|
||||
namespace System {
|
||||
using namespace components;
|
||||
using namespace lighting;
|
||||
|
||||
void lighting(DinkyECS::World &world, Map &game_map, LightRender &light);
|
||||
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_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);
|
||||
void lighting(GameLevel &level);
|
||||
void motion(GameLevel &level);
|
||||
void collision(GameLevel &level);
|
||||
void death(GameLevel &level);
|
||||
void enemy_pathing(GameLevel &level);
|
||||
|
||||
void init_positions(DinkyECS::World &world, SpatialMap &collider);
|
||||
void pickup(DinkyECS::World &world, DinkyECS::Entity actor, DinkyECS::Entity item);
|
||||
void device(DinkyECS::World &world, DinkyECS::Entity actor, DinkyECS::Entity item);
|
||||
void draw_entities(DinkyECS::World &world, Map &map, const Matrix &lights, ftxui::Canvas &canvas, const Point &cam_orig, size_t view_x, size_t view_y);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue