Rename to GameDB and GameDB::Level.

This commit is contained in:
Zed A. Shaw 2025-08-20 23:20:36 -04:00
parent c46927ea10
commit a20d701096
23 changed files with 142 additions and 151 deletions

View file

@ -37,7 +37,7 @@ namespace gui {
}
void CombatUI::init() {
auto world = Game::current_world();
auto world = GameDB::current_world();
using guecs::THEME;
$gui.set<Background>($gui.MAIN, {$gui.$parser, THEME.DARK_MID});
auto& the_belt = world->get_the<ritual::Belt>();

View file

@ -46,7 +46,7 @@ namespace gui {
void DebugUI::render(sf::RenderWindow& window) {
if(active) {
auto& level = Game::current();
auto& level = GameDB::current();
auto player = level.world->get_the<components::Player>();
auto player_combat = level.world->get<components::Combat>(player.entity);
auto map = level.map;
@ -76,7 +76,7 @@ namespace gui {
active = !active;
if(active) {
auto& level = Game::current();
auto& level = GameDB::current();
// it's on now, enable things
auto player = level.world->get_the<components::Player>();
auto& player_combat = level.world->get<components::Combat>(player.entity);

View file

@ -53,7 +53,7 @@ namespace gui {
$combat_ui.init();
$status_ui.init();
$boss_fight_ui = Game::create_bossfight();
$boss_fight_ui = GameDB::create_bossfight();
$boss_fight_ui->init();
$map_ui.init();
@ -96,7 +96,7 @@ namespace gui {
void FSM::ROTATING(Event) {
if(auto aim = $main_ui.play_rotate()) {
auto& player_pos = Game::player_position();
auto& player_pos = GameDB::player_position();
player_pos.aiming_at = *aim;
state(State::IDLE);
}
@ -104,7 +104,7 @@ namespace gui {
void FSM::COMBAT_ROTATE(Event) {
if(auto aim = $main_ui.play_rotate()) {
auto& player_pos = Game::player_position();
auto& player_pos = GameDB::player_position();
player_pos.aiming_at = *aim;
state(State::IN_COMBAT);
}
@ -267,7 +267,7 @@ namespace gui {
}
void FSM::try_move(int dir, bool strafe) {
auto& level = Game::current();
auto& level = GameDB::current();
using enum State;
// prevent moving into occupied space
Point move_to = $main_ui.plan_move(dir, strafe);
@ -356,7 +356,7 @@ namespace gui {
event(Event::LOOT_OPEN);
break;
case KEY::Z: {
auto& player_pos = Game::player_position();
auto& player_pos = GameDB::player_position();
System::distribute_loot({player_pos.aiming_at});
} break;
case KEY::X:
@ -430,7 +430,7 @@ namespace gui {
void FSM::handle_world_events() {
using eGUI = Events::GUI;
auto world = Game::current_world();
auto world = GameDB::current_world();
while(world->has_event<eGUI>()) {
auto [evt, entity, data] = world->recv<eGUI>();
@ -540,14 +540,14 @@ namespace gui {
void FSM::next_level() {
dbc::log("current_level: Yep, next is called...");
Game::create_level();
GameDB::create_level();
$status_ui.update_level();
$combat_ui.update_level();
$main_ui.update_level();
$loot_ui.update_level();
$boss_fight_ui = Game::create_bossfight();
$boss_fight_ui = GameDB::create_bossfight();
$boss_fight_ui->init();
run_systems();

View file

@ -5,14 +5,14 @@ namespace guecs {
Clickable make_action(guecs::Entity gui_id, Events::GUI event) {
return {[&, gui_id, event](auto){
auto world = Game::current_world();
auto world = GameDB::current_world();
world->send<Events::GUI>(event, gui_id, {});
}};
}
Clickable make_action(guecs::Entity gui_id, Events::GUI event, std::any data) {
return {[&, event, data](auto){
auto world = Game::current_world();
auto world = GameDB::current_world();
world->send<Events::GUI>(event, gui_id, data);
}};
}

View file

@ -8,7 +8,7 @@ namespace gui {
using namespace guecs;
LootUI::LootUI() :
$temp_loot(Game::current_world()->entity()),
$temp_loot(GameDB::current_world()->entity()),
$target($temp_loot)
{
$gui.position(RAY_VIEW_X+RAY_VIEW_WIDTH/2-200,
@ -21,7 +21,7 @@ namespace gui {
"[=item_12| =item_13|=item_14|=item_15 ]"
"[ =take_all | =close| =destroy]");
auto world = Game::current_world();
auto world = GameDB::current_world();
world->set<inventory::Model>($temp_loot, {});
world->make_constant($temp_loot);
}
@ -62,7 +62,7 @@ namespace gui {
}
void LootUI::update() {
auto world = Game::current_world();
auto world = GameDB::current_world();
dbc::check(world->has<inventory::Model>($target),
"update called but $target isn't in world");

View file

@ -21,7 +21,7 @@ namespace gui {
}
void MainUI::init() {
auto& player_position = Game::player_position();
auto& player_position = GameDB::player_position();
auto player = player_position.location;
$rayview->init_shaders();
@ -32,7 +32,7 @@ namespace gui {
}
DinkyECS::Entity MainUI::camera_aim() {
auto& level = Game::current();
auto& level = GameDB::current();
// what happens if there's two things at that spot
if(level.collision->something_there($rayview->aiming_at)) {
return level.collision->get($rayview->aiming_at);
@ -90,7 +90,7 @@ namespace gui {
}
void MainUI::dead_entity(DinkyECS::Entity entity) {
auto world = Game::current_world();
auto world = GameDB::current_world();
if(world->has<components::Sprite>(entity)) {
auto &sprite = world->get<components::Sprite>(entity);
$rayview->update_sprite(entity, sprite);
@ -98,8 +98,8 @@ namespace gui {
}
void MainUI::update_level() {
auto& level = Game::current();
auto& player_position = Game::player_position();
auto& level = GameDB::current();
auto& player_position = GameDB::player_position();
auto player = player_position.location;
$rayview->update_level(level);

View file

@ -16,7 +16,6 @@ namespace gui {
bool $needs_render = true;
sf::Clock $clock;
sf::RenderWindow& $window;
GameLevel $level;
OverlayUI $overlay_ui;
std::shared_ptr<Raycaster> $rayview;

View file

@ -26,8 +26,8 @@ namespace gui {
$map_sprite($map_render->getTexture()),
$map_tiles(matrix::make(MAP_WIDTH, MAP_HEIGHT))
{
auto world = Game::current_world();
auto player = Game::the_player();
auto world = GameDB::current_world();
auto player = GameDB::the_player();
$player_display = world->get<Tile>(player).display;
}

View file

@ -23,7 +23,7 @@ namespace gui {
gui.set<Clickable>(area, {
[&](auto) {
auto world = Game::current_world();
auto world = GameDB::current_world();
world->send<Events::GUI>(Events::GUI::AIM_CLICK, area, {});
}
});

View file

@ -185,8 +185,8 @@ namespace gui {
}
void UI::complete_combine() {
auto world = Game::current_world();
auto player = Game::the_player();
auto world = GameDB::current_world();
auto player = GameDB::the_player();
if($craft_state.is_combined()) {
auto ritual = $ritual_engine.finalize($craft_state);
@ -249,7 +249,7 @@ namespace gui {
}
::ritual::Blanket& UI::blanket() {
auto world = Game::current_world();
auto world = GameDB::current_world();
return world->get_the<::ritual::Blanket>();
}
}

View file

@ -74,7 +74,7 @@ namespace gui {
}
void StatusUI::update() {
auto world = Game::current_world();
auto world = GameDB::current_world();
auto player = world->get_the<components::Player>();
auto& inventory = world->get<inventory::Model>(player.entity);
@ -112,7 +112,7 @@ namespace gui {
}
bool StatusUI::place_slot(guecs::Entity gui_id, DinkyECS::Entity world_entity) {
auto& level = Game::current();
auto& level = GameDB::current();
auto& slot_name = $gui.name_for(gui_id);
auto& inventory = level.world->get<inventory::Model>(level.player);
@ -133,7 +133,7 @@ namespace gui {
// NOTE: do I need this or how does it relate to drop_item?
void StatusUI::remove_slot(guecs::Entity slot_id) {
auto player = Game::the_player();
auto player = GameDB::the_player();
auto& slot_name = $gui.name_for(slot_id);
System::remove_from_container(player, slot_name);
update();
@ -141,7 +141,7 @@ namespace gui {
void StatusUI::swap(guecs::Entity gui_a, guecs::Entity gui_b) {
if(gui_a != gui_b) {
auto player = Game::the_player();
auto player = GameDB::the_player();
auto& a_name = $gui.name_for(gui_a);
auto& b_name = $gui.name_for(gui_b);
System::inventory_swap(player, a_name, b_name);
@ -151,7 +151,7 @@ namespace gui {
}
bool StatusUI::occupied(guecs::Entity slot) {
auto player = Game::the_player();
auto player = GameDB::the_player();
return System::inventory_occupied(player, $gui.name_for(slot));
}
}