| 131 | } |
| 132 | |
| 133 | Maybe<ItemPtr> BaseScriptPane::shiftItemFromInventory(ItemPtr const& input) { |
| 134 | auto result = m_script.invoke<Json>("shiftItemFromInventory", input->descriptor().toJson()); |
| 135 | if (!result || result->isNull()) |
| 136 | return {}; |
| 137 | |
| 138 | auto itemDatabase = Root::singleton().itemDatabase(); |
| 139 | |
| 140 | if (result->type() == Json::Type::Bool) { |
| 141 | if (result->toBool()) |
| 142 | return itemDatabase->item({}); |
| 143 | return {}; |
| 144 | } |
| 145 | |
| 146 | return itemDatabase->item(ItemDescriptor(result.value())); |
| 147 | } |
| 148 | |
| 149 | GuiReaderPtr BaseScriptPane::reader() { |
| 150 | return m_reader; |
no test coverage detected