void MenuSystem::endLoadingState() { auto rocketBackend = static_cast<LibRocketBackendSystem*>( m_world->getSystem(SystemType::LibRocketBackendSystem)); rocketBackend->hideDocument(m_loadingWindowIdx); }
void Inventory::selectSlot(const std::string& selectedSlotId, ItemType type) { if (selectedSlotId.empty()) { deselectCurrentSlot(); return; } m_hasDraggingStarted = true; m_isEquipmentSlotDragged = type != ItemType::VOID; m_startMousePosition = g_inputController->getDefaultViewMousePosition(); if (selectedSlotId.compare(m_selectedSlotId.first) == 0) return; deselectCurrentSlot(); m_selectedSlotId.first = selectedSlotId; m_selectedSlotId.second = type; InventorySlot* selectedSlot = getSelectedSlot(); hideDocument(); if (selectedSlot != nullptr) { selectedSlot->select(); showDescription(selectedSlot->getItem()); } }
void Inventory::selectTab(ItemType type) { hideDescription(); hideDocument(); deselectCurrentSlot(); m_currentTab = type; switch (type) { case ItemType::Equipment_weapon: m_selectedTabText.setString(g_textProvider->getText("Equipment")); break; case ItemType::Consumable: m_selectedTabText.setString(g_textProvider->getText("Consumables")); break; case ItemType::Document: m_selectedTabText.setString(g_textProvider->getText("Documents")); break; case ItemType::Quest: m_selectedTabText.setString(g_textProvider->getText("QuestItems")); break; case ItemType::Misc: m_selectedTabText.setString(g_textProvider->getText("Miscellaneous")); break; default: break; } // center text m_selectedTabText.setPosition( m_window->getPosition().x + INVENTORY_WIDTH / 2 - m_selectedTabText.getLocalBounds().width / 2, m_selectedTabText.getPosition().y); // color selected tab for (auto& it : m_tabs) { if (it.second == m_currentTab) { it.first.setMainLayerColor(CENDRIC_COLOR_LIGHT_GREY); } else { it.first.setMainLayerColor(CENDRIC_COLOR_TRANS_BLACK); } } }
void Inventory::reload() { // reload gold reloadGold(); // reload items clearAllSlots(); hideDescription(); hideDocument(); m_core->loadItems(); for (auto& itemData : m_core->getData().items) { const Item* item = m_core->getItem(itemData.first); if (item == nullptr || m_typeMap.find(item->getType()) == m_typeMap.end()) continue; m_typeMap.at(item->getType())->insert({ item->getID(), InventorySlot(*item, itemData.second) }); } calculateSlotPositions(m_consumableItems); calculateSlotPositions(m_equipmentItems); calculateSlotPositions(m_questItems); calculateSlotPositions(m_documentItems); calculateSlotPositions(m_miscItems); // reload equipment m_equipment->reload(); }
bool ProjectContentComponent::documentAboutToClose (OpenDocumentManager::Document* document) { hideDocument (document); return true; }