|
|
@ -133,23 +133,17 @@ namespace gui { |
|
|
|
$loot_ui.active = false; |
|
|
|
$loot_ui.active = false; |
|
|
|
state(State::IDLE); |
|
|
|
state(State::IDLE); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case LOOT_SELECT: { |
|
|
|
case LOOT_SELECT: |
|
|
|
auto gui_id = std::any_cast<guecs::Entity>(data); |
|
|
|
$grab_source = UISystem::loot_grab($loot_ui.$gui, data); |
|
|
|
$grab_source = UISystem::loot_grab($loot_ui.$gui, gui_id); |
|
|
|
if($grab_source) state(State::LOOTING); |
|
|
|
if(!$grab_source) state(State::LOOTING); |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case INV_SELECT: |
|
|
|
case INV_SELECT: { |
|
|
|
if(UISystem::loot_drop($loot_ui.$gui, |
|
|
|
if($grab_source) { |
|
|
|
$status_ui.$gui, $grab_source, data)) |
|
|
|
auto gui_id = std::any_cast<guecs::Entity>(data); |
|
|
|
{ |
|
|
|
bool dropped = UISystem::loot_drop( |
|
|
|
|
|
|
|
$loot_ui.$gui, $status_ui.$gui, |
|
|
|
|
|
|
|
*$grab_source, gui_id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(dropped) { |
|
|
|
|
|
|
|
state(State::LOOTING); |
|
|
|
state(State::LOOTING); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
} break; |
|
|
|
|
|
|
|
case MOUSE_CLICK: |
|
|
|
case MOUSE_CLICK: |
|
|
|
mouse_action(false); |
|
|
|
mouse_action(false); |
|
|
|
break; |
|
|
|
break; |
|
|
@ -183,23 +177,17 @@ namespace gui { |
|
|
|
$loot_ui.active = false; |
|
|
|
$loot_ui.active = false; |
|
|
|
state(State::IDLE); |
|
|
|
state(State::IDLE); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case LOOT_SELECT: { |
|
|
|
case LOOT_SELECT: |
|
|
|
if($grab_source) { |
|
|
|
if(UISystem::loot_drop($status_ui.$gui, |
|
|
|
auto gui_id = std::any_cast<guecs::Entity>(data); |
|
|
|
$loot_ui.$gui, $grab_source, data)) |
|
|
|
bool dropped = UISystem::loot_drop( |
|
|
|
{ |
|
|
|
$status_ui.$gui, $loot_ui.$gui, |
|
|
|
|
|
|
|
*$grab_source, gui_id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(dropped) { |
|
|
|
|
|
|
|
state(State::LOOTING); |
|
|
|
state(State::LOOTING); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case INV_SELECT: |
|
|
|
case INV_SELECT: { |
|
|
|
$grab_source = UISystem::loot_grab($status_ui.$gui, data); |
|
|
|
auto gui_id = std::any_cast<DinkyECS::Entity>(data); |
|
|
|
state(State::LOOTING); |
|
|
|
$grab_source = UISystem::loot_grab($status_ui.$gui, gui_id); |
|
|
|
break; |
|
|
|
if(!$grab_source) state(State::LOOTING); |
|
|
|
|
|
|
|
} break; |
|
|
|
|
|
|
|
case MOUSE_CLICK: |
|
|
|
case MOUSE_CLICK: |
|
|
|
mouse_action(false); |
|
|
|
mouse_action(false); |
|
|
|
break; |
|
|
|
break; |
|
|
@ -230,16 +218,14 @@ namespace gui { |
|
|
|
$loot_ui.active = false; |
|
|
|
$loot_ui.active = false; |
|
|
|
state(State::IDLE); |
|
|
|
state(State::IDLE); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case LOOT_SELECT: { |
|
|
|
case LOOT_SELECT: |
|
|
|
auto gui_id = std::any_cast<guecs::Entity>(data); |
|
|
|
$grab_source = UISystem::loot_grab($loot_ui.$gui, data); |
|
|
|
$grab_source = UISystem::loot_grab($loot_ui.$gui, gui_id); |
|
|
|
|
|
|
|
if($grab_source) state(State::LOOT_GRAB); |
|
|
|
if($grab_source) state(State::LOOT_GRAB); |
|
|
|
} break; |
|
|
|
break; |
|
|
|
case INV_SELECT: { |
|
|
|
case INV_SELECT: |
|
|
|
auto gui_id = std::any_cast<DinkyECS::Entity>(data); |
|
|
|
$grab_source = UISystem::loot_grab($status_ui.$gui, data); |
|
|
|
$grab_source = UISystem::loot_grab($status_ui.$gui, gui_id); |
|
|
|
|
|
|
|
if($grab_source) state(State::INV_GRAB); |
|
|
|
if($grab_source) state(State::INV_GRAB); |
|
|
|
} break; |
|
|
|
break; |
|
|
|
case MOUSE_DRAG_START: |
|
|
|
case MOUSE_DRAG_START: |
|
|
|
case MOUSE_CLICK: |
|
|
|
case MOUSE_CLICK: |
|
|
|
mouse_action(false); |
|
|
|
mouse_action(false); |
|
|
|