Made it so you can right-click on an item to use it, but yeah it's bad. Gotta refactor.
This commit is contained in:
parent
42575ef1f5
commit
ad0069e899
9 changed files with 48 additions and 61 deletions
36
gui/fsm.cpp
36
gui/fsm.cpp
|
@ -192,7 +192,16 @@ namespace gui {
|
|||
$dnd_loot.event(Event::INV_SELECT, data);
|
||||
state(State::LOOTING);
|
||||
break;
|
||||
case USE_ITEM: {
|
||||
auto gui_id = std::any_cast<guecs::Entity>(data);
|
||||
auto& slot_name = $status_ui.$gui.name_for(gui_id);
|
||||
|
||||
if(System::use_item($level, slot_name)) {
|
||||
$status_ui.update();
|
||||
}
|
||||
} break;
|
||||
case MOUSE_CLICK:
|
||||
fmt::println("CLICK: {}", $router.left_button);
|
||||
mouse_action(false);
|
||||
break;
|
||||
case MOUSE_MOVE:
|
||||
|
@ -200,6 +209,7 @@ namespace gui {
|
|||
break;
|
||||
case AIM_CLICK:
|
||||
System::pickup($level);
|
||||
break;
|
||||
default:
|
||||
break; // ignore everything else
|
||||
}
|
||||
|
@ -470,9 +480,13 @@ namespace gui {
|
|||
case eGUI::LOOT_SELECT:
|
||||
event(Event::LOOT_SELECT, data);
|
||||
break;
|
||||
case eGUI::INV_SELECT:
|
||||
event(Event::INV_SELECT, data);
|
||||
break;
|
||||
case eGUI::INV_SELECT: {
|
||||
if($router.left_button) {
|
||||
event(Event::INV_SELECT, data);
|
||||
} else {
|
||||
event(Event::USE_ITEM, data);
|
||||
}
|
||||
} break;
|
||||
case eGUI::AIM_CLICK:
|
||||
event(Event::AIM_CLICK);
|
||||
break;
|
||||
|
@ -488,11 +502,11 @@ namespace gui {
|
|||
event(Event::LOOT_OPEN);
|
||||
} break;
|
||||
case eGUI::HP_STATUS:
|
||||
System::player_status($level);
|
||||
break;
|
||||
System::player_status($level);
|
||||
break;
|
||||
case eGUI::NEW_RITUAL:
|
||||
$combat_ui.init();
|
||||
break;
|
||||
$combat_ui.init();
|
||||
break;
|
||||
case eGUI::ATTACK:
|
||||
$temp_attack_id = std::any_cast<int>(data);
|
||||
event(Event::ATTACK);
|
||||
|
@ -500,14 +514,6 @@ namespace gui {
|
|||
case eGUI::STAIRS_DOWN:
|
||||
event(Event::STAIRS_DOWN);
|
||||
break;
|
||||
case eGUI::USE_ITEM: {
|
||||
auto what = std::any_cast<DinkyECS::Entity>(data);
|
||||
|
||||
if(System::use_item($level, what)) {
|
||||
$status_ui.update();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case eGUI::DEATH: {
|
||||
$status_ui.update();
|
||||
if(entity != player.entity) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue