You can now go down stairs to new levels, but when you do you become stairs or a random monster.
This commit is contained in:
parent
c14efee9ea
commit
2825faf038
7 changed files with 100 additions and 49 deletions
27
gui.hpp
27
gui.hpp
|
@ -79,16 +79,19 @@ class InventoryUI : public Panel {
|
|||
Component $inventory_box;
|
||||
Component $inventory_render;
|
||||
Component $inventory_table;
|
||||
DinkyECS::World& $world;
|
||||
GameLevel $level;
|
||||
std::vector<std::string> $menu_list;
|
||||
std::string $item_text = "No item selected.";
|
||||
|
||||
InventoryUI(DinkyECS::World& world) :
|
||||
InventoryUI(GameLevel level) :
|
||||
Panel(INVENTORY_PIXEL_X, INVENTORY_PIXEL_Y, INVENTORY_WIDTH, INVENTORY_HEIGHT),
|
||||
$world(world)
|
||||
$level(level)
|
||||
{}
|
||||
|
||||
void create_render();
|
||||
|
||||
void update_level(GameLevel &level) { $level = level; }
|
||||
|
||||
void update_menu_list(components::Inventory& inventory);
|
||||
};
|
||||
|
||||
|
@ -96,40 +99,42 @@ class StatusUI : public Panel {
|
|||
public:
|
||||
ActionLog $log;
|
||||
string $status_text = "NOT DEAD";
|
||||
DinkyECS::World& $world;
|
||||
GameLevel $level;
|
||||
|
||||
StatusUI(DinkyECS::World& world) :
|
||||
StatusUI(GameLevel level) :
|
||||
Panel(0, 0, STATUS_UI_WIDTH, STATUS_UI_HEIGHT),
|
||||
$log({{"Welcome to the game!"}}),
|
||||
$world(world) {}
|
||||
$level(level) {}
|
||||
|
||||
void create_render();
|
||||
void log(string msg) {
|
||||
$log.log(msg);
|
||||
}
|
||||
void update_level(GameLevel &level) { $level = level; }
|
||||
};
|
||||
|
||||
class MapViewUI : public Panel {
|
||||
public:
|
||||
Canvas $canvas;
|
||||
DinkyECS::World& $world;
|
||||
LightRender& $lights;
|
||||
Map& $game_map;
|
||||
GameLevel $level;
|
||||
|
||||
MapViewUI(DinkyECS::World& world, LightRender& lights, Map& game_map);
|
||||
MapViewUI(GameLevel &level);
|
||||
void create_render();
|
||||
void resize_canvas();
|
||||
void draw_map();
|
||||
void update_level(GameLevel &level);
|
||||
};
|
||||
|
||||
class GUI {
|
||||
LevelManager $level_manager;
|
||||
GameLevel &$level;
|
||||
GameLevel $level;
|
||||
|
||||
StatusUI $status_ui;
|
||||
MapViewUI $map_view;
|
||||
InventoryUI $inventory_ui;
|
||||
DeathUI $death_ui;
|
||||
NextLevelUI $next_level_ui;
|
||||
|
||||
Canvas $canvas;
|
||||
bool $inventory_open = false;
|
||||
bool $player_died = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue