You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
959 B
34 lines
959 B
#include "gui/guecstra.hpp"
|
|
|
|
namespace guecs {
|
|
|
|
Clickable make_action(GameLevel& target, Events::GUI event) {
|
|
return {[&, event](auto gui_id, auto data){
|
|
// BUG: either get rid of gui_id or also send a reference the the $gui that is sending the event
|
|
target.world->send<Events::GUI>(event, gui_id, data);
|
|
}};
|
|
}
|
|
|
|
Clickable make_action(GameLevel& target, Events::GUI event, std::any data) {
|
|
return {[&, event, data](auto gui_id, auto){
|
|
target.world->send<Events::GUI>(event, gui_id, data);
|
|
}};
|
|
}
|
|
|
|
DinkyECS::Entity GrabSource::grab() {
|
|
return world_entity;
|
|
}
|
|
|
|
void GrabSource::setSprite(guecs::UI& gui, guecs::Entity gui_id) {
|
|
dbc::check(gui.has<guecs::Sprite>(gui_id), "GrabSource given sprite gui_id that doesn't exist");
|
|
|
|
auto& sp = gui.get<guecs::Sprite>(gui_id);
|
|
sprite = sp.sprite;
|
|
}
|
|
|
|
void GrabSource::move(sf::Vector2f pos) {
|
|
if(sprite) {
|
|
sprite->setPosition(pos);
|
|
}
|
|
}
|
|
}
|
|
|