Rename to GameDB and GameDB::Level.
This commit is contained in:
parent
c46927ea10
commit
a20d701096
23 changed files with 142 additions and 151 deletions
|
@ -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>();
|
||||
|
|
|
@ -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);
|
||||
|
|
16
gui/fsm.cpp
16
gui/fsm.cpp
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
}};
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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, {});
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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>();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue