Finally unified all of my events into one place.
This commit is contained in:
parent
6c34fea64a
commit
c618a4828f
30 changed files with 215 additions and 216 deletions
|
|
@ -16,7 +16,7 @@ namespace gui {
|
|||
|
||||
guecs::Entity CombatUI::make_button(
|
||||
guecs::Entity button,
|
||||
Events::GUI event,
|
||||
game::Event event,
|
||||
int action,
|
||||
const std::string &icon_name,
|
||||
const std::string &sound,
|
||||
|
|
@ -62,15 +62,15 @@ namespace gui {
|
|||
|
||||
switch(ritual.element) {
|
||||
case FIRE:
|
||||
make_button(button, Events::GUI::ATTACK,
|
||||
make_button(button, game::Event::ATTACK,
|
||||
slot, "broken_yoyo", "fireball_01", "flame");
|
||||
break;
|
||||
case LIGHTNING:
|
||||
make_button(button, Events::GUI::ATTACK,
|
||||
make_button(button, game::Event::ATTACK,
|
||||
slot, "pocket_watch", "electric_shock_01", "lightning");
|
||||
break;
|
||||
default:
|
||||
make_button(button, Events::GUI::ATTACK,
|
||||
make_button(button, game::Event::ATTACK,
|
||||
slot, "severed_finger", "punch_cartoony", "ui_shader");
|
||||
}
|
||||
}
|
||||
|
|
@ -80,7 +80,7 @@ namespace gui {
|
|||
auto hp_gauge = $gui.entity("hp_gauge");
|
||||
$gui.set<Sprite>(hp_gauge, {"stone_doll_cursed"});
|
||||
$gui.set<Clickable>(hp_gauge,
|
||||
guecs::make_action(hp_gauge, Events::GUI::HP_STATUS, {}));
|
||||
guecs::make_action(hp_gauge, game::Event::HP_STATUS, {}));
|
||||
}
|
||||
|
||||
$gui.init();
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ namespace gui {
|
|||
void render(sf::RenderWindow& window);
|
||||
void update_level();
|
||||
bool mouse(float x, float y, guecs::Modifiers mods);
|
||||
guecs::Entity make_button(guecs::Entity button, Events::GUI event,
|
||||
guecs::Entity make_button(guecs::Entity button, game::Event event,
|
||||
int action, const std::string &icon_name,
|
||||
const std::string &sound, const std::string &effect_name);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ namespace gui {
|
|||
dbc::log("THIS FUNCTION NEEDS A REWRITE");
|
||||
// auto ent = $level_mgr.spawn_enemy(enemy_key);
|
||||
// auto& level = $level_mgr.current();
|
||||
// level.world->send<Events::GUI>(Events::GUI::ENTITY_SPAWN, ent, {});
|
||||
// level.world->send<game::Event>(game::Event::ENTITY_SPAWN, ent, {});
|
||||
}
|
||||
|
||||
void DebugUI::render(sf::RenderWindow& window) {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include "gui/dnd_loot.hpp"
|
||||
|
||||
namespace gui {
|
||||
using Event = game::Event;
|
||||
|
||||
DNDLoot::DNDLoot(StatusUI& status_ui, LootUI& loot_ui, sf::RenderWindow &window, routing::Router& router) :
|
||||
$status_ui(status_ui),
|
||||
|
|
@ -9,7 +10,7 @@ namespace gui {
|
|||
$window(window),
|
||||
$router(router)
|
||||
{
|
||||
event(Event::STARTED);
|
||||
event(Event::START);
|
||||
}
|
||||
|
||||
bool DNDLoot::event(Event ev, std::any data) {
|
||||
|
|
@ -30,7 +31,7 @@ namespace gui {
|
|||
|
||||
void DNDLoot::START(Event ev) {
|
||||
using enum Event;
|
||||
dbc::check(ev == STARTED, "START not given a STARTED event.");
|
||||
dbc::check(ev == START, "START not given a STARTED event.");
|
||||
END(CLOSE);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "gui/status_ui.hpp"
|
||||
#include "gui/loot_ui.hpp"
|
||||
#include "gui/event_router.hpp"
|
||||
#include "events.hpp"
|
||||
|
||||
namespace gui {
|
||||
enum class DNDState {
|
||||
|
|
@ -16,7 +17,7 @@ namespace gui {
|
|||
END=106
|
||||
};
|
||||
|
||||
class DNDLoot : public DeadSimpleFSM<DNDState, Event> {
|
||||
class DNDLoot : public DeadSimpleFSM<DNDState, game::Event> {
|
||||
public:
|
||||
std::optional<guecs::Entity> $grab_source = std::nullopt;
|
||||
std::shared_ptr<sf::Sprite> $grab_sprite = nullptr;
|
||||
|
|
@ -29,17 +30,17 @@ namespace gui {
|
|||
LootUI& loot_ui, sf::RenderWindow& window,
|
||||
routing::Router& router);
|
||||
|
||||
bool event(Event ev, std::any data={});
|
||||
bool event(game::Event ev, std::any data={});
|
||||
|
||||
void START(Event ev);
|
||||
void LOOTING(Event ev, std::any data);
|
||||
void LOOT_GRAB(Event ev, std::any data);
|
||||
void INV_GRAB(Event ev, std::any data);
|
||||
void END(Event ev, std::any data={});
|
||||
void ITEM_PICKUP(Event ev, std::any data);
|
||||
void INV_PICKUP(Event ev, std::any data);
|
||||
void START(game::Event ev);
|
||||
void LOOTING(game::Event ev, std::any data);
|
||||
void LOOT_GRAB(game::Event ev, std::any data);
|
||||
void INV_GRAB(game::Event ev, std::any data);
|
||||
void END(game::Event ev, std::any data={});
|
||||
void ITEM_PICKUP(game::Event ev, std::any data);
|
||||
void INV_PICKUP(game::Event ev, std::any data);
|
||||
|
||||
void handle_mouse(Event ev, guecs::UI& gui);
|
||||
void handle_mouse(game::Event ev, guecs::UI& gui);
|
||||
void render();
|
||||
void open();
|
||||
void close();
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@ namespace gui {
|
|||
using enum Event;
|
||||
using enum State;
|
||||
|
||||
gui::Event Router::process_event(std::optional<sf::Event> ev) {
|
||||
$next_event = gui::Event::TICK;
|
||||
game::Event Router::process_event(std::optional<sf::Event> ev) {
|
||||
$next_event = game::Event::TICK;
|
||||
|
||||
if(ev->is<sf::Event::Closed>()) {
|
||||
return gui::Event::QUIT;
|
||||
return game::Event::QUIT;
|
||||
}
|
||||
|
||||
if(const auto* mouse = ev->getIf<sf::Event::MouseButtonPressed>()) {
|
||||
|
|
@ -58,18 +58,18 @@ namespace gui {
|
|||
switch(ev) {
|
||||
case MOUSE_DOWN:
|
||||
move_count=0;
|
||||
set_event(gui::Event::TICK);
|
||||
set_event(game::Event::TICK);
|
||||
state(State::MOUSE_ACTIVE);
|
||||
break;
|
||||
case MOUSE_UP:
|
||||
set_event(gui::Event::MOUSE_CLICK);
|
||||
set_event(game::Event::MOUSE_CLICK);
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case MOUSE_MOVE:
|
||||
set_event(gui::Event::MOUSE_MOVE);
|
||||
set_event(game::Event::MOUSE_MOVE);
|
||||
break;
|
||||
case KEY_PRESS:
|
||||
set_event(gui::Event::KEY_PRESS);
|
||||
set_event(game::Event::KEY_PRESS);
|
||||
break;
|
||||
default:
|
||||
dbc::sentinel(fmt::format("invalid event: {}", int(ev)));
|
||||
|
|
@ -79,16 +79,16 @@ namespace gui {
|
|||
void Router::MOUSE_ACTIVE(Event ev) {
|
||||
switch(ev) {
|
||||
case MOUSE_UP:
|
||||
set_event(gui::Event::MOUSE_CLICK);
|
||||
set_event(game::Event::MOUSE_CLICK);
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case MOUSE_MOVE:
|
||||
move_count++;
|
||||
set_event(gui::Event::MOUSE_DRAG);
|
||||
set_event(game::Event::MOUSE_DRAG);
|
||||
state(State::MOUSE_MOVING);
|
||||
break;
|
||||
case KEY_PRESS:
|
||||
set_event(gui::Event::KEY_PRESS);
|
||||
set_event(game::Event::KEY_PRESS);
|
||||
state(State::IDLE);
|
||||
break;
|
||||
default:
|
||||
|
|
@ -100,21 +100,21 @@ namespace gui {
|
|||
switch(ev) {
|
||||
case MOUSE_UP: {
|
||||
dbc::check(move_count < $drag_tolerance, "mouse up but not in dragging state");
|
||||
set_event(gui::Event::MOUSE_CLICK);
|
||||
set_event(game::Event::MOUSE_CLICK);
|
||||
state(State::IDLE);
|
||||
} break;
|
||||
case MOUSE_MOVE:
|
||||
move_count++;
|
||||
|
||||
if(move_count < $drag_tolerance) {
|
||||
set_event(gui::Event::MOUSE_DRAG);
|
||||
set_event(game::Event::MOUSE_DRAG);
|
||||
} else {
|
||||
set_event(gui::Event::MOUSE_DRAG_START);
|
||||
set_event(game::Event::MOUSE_DRAG_START);
|
||||
state(State::MOUSE_DRAGGING);
|
||||
}
|
||||
break;
|
||||
case KEY_PRESS:
|
||||
set_event(gui::Event::KEY_PRESS);
|
||||
set_event(game::Event::KEY_PRESS);
|
||||
break;
|
||||
default:
|
||||
dbc::sentinel("invalid event");
|
||||
|
|
@ -125,15 +125,15 @@ namespace gui {
|
|||
void Router::MOUSE_DRAGGING(Event ev) {
|
||||
switch(ev) {
|
||||
case MOUSE_UP:
|
||||
set_event(gui::Event::MOUSE_DROP);
|
||||
set_event(game::Event::MOUSE_DROP);
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case MOUSE_MOVE:
|
||||
move_count++;
|
||||
set_event(gui::Event::MOUSE_DRAG);
|
||||
set_event(game::Event::MOUSE_DRAG);
|
||||
break;
|
||||
case KEY_PRESS:
|
||||
set_event(gui::Event::KEY_PRESS);
|
||||
set_event(game::Event::KEY_PRESS);
|
||||
break;
|
||||
default:
|
||||
dbc::sentinel("invalid events");
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#pragma once
|
||||
#include "events.hpp"
|
||||
#include "gui/fsm_events.hpp"
|
||||
#include "events.hpp"
|
||||
#include "simplefsm.hpp"
|
||||
#include <SFML/Graphics.hpp>
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ namespace gui {
|
|||
public:
|
||||
sf::Vector2i position;
|
||||
sf::Keyboard::Scancode scancode;
|
||||
gui::Event $next_event = gui::Event::TICK;
|
||||
game::Event $next_event = game::Event::TICK;
|
||||
int move_count = 0;
|
||||
bool left_button = true;
|
||||
int $drag_tolerance = 4;
|
||||
|
|
@ -39,9 +39,9 @@ namespace gui {
|
|||
void MOUSE_MOVING(Event ev);
|
||||
void MOUSE_DRAGGING(Event ev);
|
||||
|
||||
gui::Event process_event(std::optional<sf::Event> ev);
|
||||
game::Event process_event(std::optional<sf::Event> ev);
|
||||
|
||||
void set_event(gui::Event ev) {
|
||||
void set_event(game::Event ev) {
|
||||
$next_event = ev;
|
||||
}
|
||||
};
|
||||
|
|
|
|||
20
gui/fsm.cpp
20
gui/fsm.cpp
|
|
@ -6,7 +6,6 @@
|
|||
#include "components.hpp"
|
||||
#include <numbers>
|
||||
#include "systems.hpp"
|
||||
#include "gui/fsm_events.hpp"
|
||||
#include "events.hpp"
|
||||
#include "sound.hpp"
|
||||
#include "shaders.hpp"
|
||||
|
|
@ -17,6 +16,7 @@
|
|||
|
||||
namespace gui {
|
||||
using namespace components;
|
||||
using game::Event;
|
||||
|
||||
FSM::FSM() :
|
||||
$window(sf::VideoMode({SCREEN_WIDTH, SCREEN_HEIGHT}), "Zed's Raycaster Thing"),
|
||||
|
|
@ -83,7 +83,7 @@ namespace gui {
|
|||
run_systems();
|
||||
state(State::IN_COMBAT);
|
||||
} break;
|
||||
case STOP_COMBAT:
|
||||
case COMBAT_STOP:
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case ATTACK: {
|
||||
|
|
@ -165,7 +165,7 @@ namespace gui {
|
|||
case ATTACK:
|
||||
state(State::ATTACKING);
|
||||
break;
|
||||
case START_COMBAT:
|
||||
case COMBAT_START:
|
||||
$map_open = false;
|
||||
state(State::IN_COMBAT);
|
||||
break;
|
||||
|
|
@ -215,7 +215,7 @@ namespace gui {
|
|||
dbc::check($boss_fight != nullptr, "$boss_fight not initialized");
|
||||
|
||||
if($boss_scene->playing()) {
|
||||
if(ev == gui::Event::MOUSE_CLICK) {
|
||||
if(ev == game::Event::MOUSE_CLICK) {
|
||||
$boss_scene->mouse(0,0, 0);
|
||||
}
|
||||
return;
|
||||
|
|
@ -223,7 +223,7 @@ namespace gui {
|
|||
|
||||
$boss_fight->mouse_pos = mouse_position();
|
||||
|
||||
if(ev == gui::Event::QUIT) {
|
||||
if(ev == game::Event::QUIT) {
|
||||
// just epsilon straight to the exit
|
||||
IDLE(ev, data);
|
||||
} if($boss_fight->event(ev, data)) {
|
||||
|
|
@ -260,7 +260,7 @@ namespace gui {
|
|||
$main_ui.plan_rotate(1, DEFAULT_ROTATE);
|
||||
state(State::COMBAT_ROTATE);
|
||||
break;
|
||||
case STOP_COMBAT:
|
||||
case COMBAT_STOP:
|
||||
$main_ui.$overlay_ui.close_sprite("top_right");
|
||||
state(State::IDLE);
|
||||
break;
|
||||
|
|
@ -436,7 +436,7 @@ namespace gui {
|
|||
}
|
||||
|
||||
void FSM::handle_world_events() {
|
||||
using eGUI = Events::GUI;
|
||||
using eGUI = game::Event;
|
||||
auto world = GameDB::current_world();
|
||||
|
||||
while(world->has_event<eGUI>()) {
|
||||
|
|
@ -447,7 +447,7 @@ namespace gui {
|
|||
|
||||
switch(evt) {
|
||||
case eGUI::COMBAT: {
|
||||
auto &damage = std::any_cast<Events::Combat&>(data);
|
||||
auto &damage = std::any_cast<components::CombatResult&>(data);
|
||||
|
||||
if(damage.enemy_did > 0) {
|
||||
$map_ui.log(fmt::format(L"Enemy HIT YOU for {} damage!", damage.enemy_did));
|
||||
|
|
@ -463,7 +463,7 @@ namespace gui {
|
|||
}
|
||||
break;
|
||||
case eGUI::COMBAT_START:
|
||||
event(Event::START_COMBAT);
|
||||
event(Event::COMBAT_START);
|
||||
break;
|
||||
case eGUI::ENTITY_SPAWN: {
|
||||
auto& sprite = world->get<components::Sprite>(entity);
|
||||
|
|
@ -472,7 +472,7 @@ namespace gui {
|
|||
run_systems();
|
||||
} break;
|
||||
case eGUI::NO_NEIGHBORS:
|
||||
event(Event::STOP_COMBAT);
|
||||
event(Event::COMBAT_STOP);
|
||||
break;
|
||||
case eGUI::LOOT_CLOSE:
|
||||
// BUG: need to resolve GUI events vs. FSM events better
|
||||
|
|
|
|||
27
gui/fsm.hpp
27
gui/fsm.hpp
|
|
@ -13,6 +13,7 @@
|
|||
#include "gui/event_router.hpp"
|
||||
#include "gui/dnd_loot.hpp"
|
||||
#include "storyboard/ui.hpp"
|
||||
#include "events.hpp"
|
||||
|
||||
namespace gui {
|
||||
enum class State {
|
||||
|
|
@ -28,7 +29,7 @@ namespace gui {
|
|||
END=9
|
||||
};
|
||||
|
||||
class FSM : public DeadSimpleFSM<State, Event> {
|
||||
class FSM : public DeadSimpleFSM<State, game::Event> {
|
||||
public:
|
||||
sf::RenderWindow $window;
|
||||
bool $draw_stats = false;
|
||||
|
|
@ -48,21 +49,21 @@ namespace gui {
|
|||
|
||||
FSM();
|
||||
|
||||
void event(Event ev, std::any data={});
|
||||
void event(game::Event ev, std::any data={});
|
||||
void autowalk();
|
||||
void start_autowalk(double rot_speed);
|
||||
|
||||
void START(Event ev);
|
||||
void MOVING(Event ev);
|
||||
void ATTACKING(Event ev, std::any data);
|
||||
void MAPPING(Event ev);
|
||||
void ROTATING(Event ev);
|
||||
void IDLE(Event ev, std::any data);
|
||||
void IN_COMBAT(Event ev);
|
||||
void COMBAT_ROTATE(Event ev);
|
||||
void BOSS_FIGHT(Event ev, std::any data);
|
||||
void LOOTING(Event ev, std::any data);
|
||||
void END(Event ev);
|
||||
void START(game::Event ev);
|
||||
void MOVING(game::Event ev);
|
||||
void ATTACKING(game::Event ev, std::any data);
|
||||
void MAPPING(game::Event ev);
|
||||
void ROTATING(game::Event ev);
|
||||
void IDLE(game::Event ev, std::any data);
|
||||
void IN_COMBAT(game::Event ev);
|
||||
void COMBAT_ROTATE(game::Event ev);
|
||||
void BOSS_FIGHT(game::Event ev, std::any data);
|
||||
void LOOTING(game::Event ev, std::any data);
|
||||
void END(game::Event ev);
|
||||
|
||||
void try_move(int dir, bool strafe);
|
||||
sf::Vector2f mouse_position();
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
namespace gui {
|
||||
enum class Event {
|
||||
STARTED=0,
|
||||
TICK=1,
|
||||
MOVE_FORWARD = 2,
|
||||
MOVE_BACK = 3,
|
||||
MOVE_LEFT = 4,
|
||||
MOVE_RIGHT = 5,
|
||||
MAP_OPEN = 6,
|
||||
CLOSE = 7,
|
||||
ROTATE_LEFT = 8,
|
||||
ROTATE_RIGHT = 9,
|
||||
ATTACK = 10,
|
||||
START_COMBAT = 11,
|
||||
STOP_COMBAT = 12,
|
||||
BOSS_START = 13,
|
||||
BOSS_END = 14,
|
||||
LOOT_OPEN=15,
|
||||
LOOT_ITEM=16,
|
||||
LOOT_SELECT=17,
|
||||
INV_SELECT=18,
|
||||
USE_ITEM=19,
|
||||
QUIT = 20,
|
||||
MOUSE_CLICK=21,
|
||||
MOUSE_MOVE=22,
|
||||
MOUSE_DRAG=23,
|
||||
MOUSE_DRAG_START=24,
|
||||
MOUSE_DROP=25,
|
||||
KEY_PRESS=26,
|
||||
AIM_CLICK=27,
|
||||
COMBAT=28
|
||||
};
|
||||
}
|
||||
|
|
@ -3,17 +3,17 @@
|
|||
|
||||
namespace guecs {
|
||||
|
||||
Clickable make_action(guecs::Entity gui_id, Events::GUI event) {
|
||||
Clickable make_action(guecs::Entity gui_id, game::Event event) {
|
||||
return {[&, gui_id, event](auto){
|
||||
auto world = GameDB::current_world();
|
||||
world->send<Events::GUI>(event, gui_id, {});
|
||||
world->send<game::Event>(event, gui_id, {});
|
||||
}};
|
||||
}
|
||||
|
||||
Clickable make_action(guecs::Entity gui_id, Events::GUI event, std::any data) {
|
||||
Clickable make_action(guecs::Entity gui_id, game::Event event, std::any data) {
|
||||
return {[&, event, data](auto){
|
||||
auto world = GameDB::current_world();
|
||||
world->send<Events::GUI>(event, gui_id, data);
|
||||
world->send<game::Event>(event, gui_id, data);
|
||||
}};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
#include "textures.hpp"
|
||||
|
||||
namespace guecs {
|
||||
Clickable make_action(guecs::Entity gui_id, Events::GUI event);
|
||||
Clickable make_action(guecs::Entity gui_id, Events::GUI event, std::any data);
|
||||
Clickable make_action(guecs::Entity gui_id, game::Event event);
|
||||
Clickable make_action(guecs::Entity gui_id, game::Event event, std::any data);
|
||||
|
||||
struct GrabSource {
|
||||
DinkyECS::Entity world_entity;
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ namespace gui {
|
|||
world->make_constant($temp_loot);
|
||||
}
|
||||
|
||||
void LootUI::make_button(const std::string &name, const std::wstring& label, Events::GUI event) {
|
||||
void LootUI::make_button(const std::string &name, const std::wstring& label, game::Event event) {
|
||||
|
||||
auto button = $gui.entity(name);
|
||||
$gui.set<guecs::Rectangle>(button, {});
|
||||
|
|
@ -41,9 +41,9 @@ namespace gui {
|
|||
bg_color.a = 140;
|
||||
$gui.set<Background>($gui.MAIN, {$gui.$parser, bg_color});
|
||||
|
||||
make_button("close", L"CLOSE", Events::GUI::LOOT_CLOSE);
|
||||
make_button("take_all", L"TAKE ALL", Events::GUI::LOOT_CLOSE);
|
||||
make_button("destroy", L"DESTROY", Events::GUI::LOOT_CLOSE);
|
||||
make_button("close", L"CLOSE", game::Event::LOOT_CLOSE);
|
||||
make_button("take_all", L"TAKE ALL", game::Event::LOOT_CLOSE);
|
||||
make_button("destroy", L"DESTROY", game::Event::LOOT_CLOSE);
|
||||
|
||||
for(int i = 0; i < INV_SLOTS; i++) {
|
||||
auto name = fmt::format("item_{}", i);
|
||||
|
|
@ -53,7 +53,7 @@ namespace gui {
|
|||
THEME.TRANSPARENT, THEME.LIGHT_MID });
|
||||
$gui.set<guecs::Effect>(id, {0.4f, "ui_shader"});
|
||||
$gui.set<guecs::Clickable>(id, {
|
||||
guecs::make_action(id, Events::GUI::LOOT_SELECT, {id})
|
||||
guecs::make_action(id, game::Event::LOOT_SELECT, {id})
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ namespace gui {
|
|||
void render(sf::RenderWindow& window);
|
||||
void update_level();
|
||||
bool mouse(float x, float y, guecs::Modifiers mods);
|
||||
void make_button(const std::string &name, const std::wstring& label, Events::GUI event);
|
||||
void make_button(const std::string &name, const std::wstring& label, game::Event event);
|
||||
|
||||
void remove_slot(guecs::Entity slot_id);
|
||||
bool place_slot(guecs::Entity gui_id, DinkyECS::Entity world_entity);
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ namespace gui {
|
|||
gui.set<Clickable>(area, {
|
||||
[&](auto) {
|
||||
auto world = GameDB::current_world();
|
||||
world->send<Events::GUI>(Events::GUI::AIM_CLICK, area, {});
|
||||
world->send<game::Event>(game::Event::AIM_CLICK, area, {});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ namespace gui {
|
|||
auto ritual = $ritual_engine.finalize($craft_state);
|
||||
auto& belt = world->get_the<::ritual::Belt>();
|
||||
belt.equip(belt.next(), ritual);
|
||||
world->send<Events::GUI>(Events::GUI::NEW_RITUAL, player, {});
|
||||
world->send<game::Event>(game::Event::NEW_RITUAL, player, {});
|
||||
blanket().consume_crafting();
|
||||
clear_craft_result();
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ namespace gui {
|
|||
} else {
|
||||
$gui.set<Text>(gui_id, {guecs::to_wstring(name)});
|
||||
$gui.set<Clickable>(gui_id, {
|
||||
guecs::make_action(gui_id, Events::GUI::INV_SELECT, {gui_id})
|
||||
guecs::make_action(gui_id, game::Event::INV_SELECT, {gui_id})
|
||||
});
|
||||
$gui.set<DropTarget>(gui_id, {
|
||||
.commit=[&, gui_id](DinkyECS::Entity world_target) -> bool {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue