MCPcopy Create free account
hub / github.com/TurningWheel/Barony / isItemSelectedToRepairOrInscribe

Method isItemSelectedToRepairOrInscribe

src/interface/interface.cpp:24109–24162  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24107}
24108
24109bool GenericGUIMenu::FeatherGUI_t::isItemSelectedToRepairOrInscribe(Item* item)
24110{
24111 if ( !item || itemCategory(item) == SPELL_CAT )
24112 {
24113 return false;
24114 }
24115
24116 if ( isInscriptionDrawerOpen() || !parentGUI.isNodeFromPlayerInventory(item->node) )
24117 {
24118 return false;
24119 }
24120
24121 if ( players[parentGUI.getPlayer()]->GUI.activeModule == Player::GUI_t::MODULE_INVENTORY )
24122 {
24123 auto& inventoryUI = players[parentGUI.getPlayer()]->inventoryUI;
24124 auto& paperDoll = players[parentGUI.getPlayer()]->paperDoll;
24125 if ( item->y < 0 && paperDoll.getSlotForItem(*item) != Player::PaperDoll_t::SLOT_MAX )
24126 {
24127 int slotx, sloty;
24128 paperDoll.getCoordinatesFromSlotType(paperDoll.getSlotForItem(*item), slotx, sloty);
24129 if ( slotx == inventoryUI.getSelectedSlotX() && sloty == inventoryUI.getSelectedSlotY() )
24130 {
24131 if ( auto slotFrame = inventoryUI.getInventorySlotFrame(slotx, sloty) )
24132 {
24133 return slotFrame->capturesMouse();
24134 }
24135 else
24136 {
24137 return false;
24138 }
24139 }
24140 }
24141 else
24142 {
24143 if ( inventoryUI.getSelectedSlotX() >= 0
24144 && inventoryUI.getSelectedSlotX() < inventoryUI.getSizeX()
24145 && inventoryUI.getSelectedSlotY() >= Player::Inventory_t::PaperDollRows::DOLL_ROW_1
24146 && inventoryUI.getSelectedSlotY() < inventoryUI.getSizeY()
24147 && item->x == inventoryUI.getSelectedSlotX() && item->y == inventoryUI.getSelectedSlotY() )
24148 {
24149 if ( auto slotFrame = inventoryUI.getInventorySlotFrame(item->x, item->y) )
24150 {
24151 return slotFrame->capturesMouse();
24152 }
24153 else
24154 {
24155 return false;
24156 }
24157 }
24158 }
24159 }
24160
24161 return false;
24162}
24163
24164bool GenericGUIMenu::FeatherGUI_t::isInscriptionDrawerOpen() const
24165{

Callers

nothing calls this directly

Calls 11

getSlotForItemMethod · 0.80
getSelectedSlotXMethod · 0.80
getSelectedSlotYMethod · 0.80
getInventorySlotFrameMethod · 0.80
capturesMouseMethod · 0.80
getSizeXMethod · 0.80
getSizeYMethod · 0.80
itemCategoryFunction · 0.50
getPlayerMethod · 0.45

Tested by

no test coverage detected