diff --git a/src/ui/SelectedBuildingPanel.cpp b/src/ui/SelectedBuildingPanel.cpp index f5a61b4..5c6f79e 100644 --- a/src/ui/SelectedBuildingPanel.cpp +++ b/src/ui/SelectedBuildingPanel.cpp @@ -604,7 +604,7 @@ void SelectedBuildingPanel::updateShipyardLayoutWidgets( layout = *shipLayout; } m_layoutPreview->setShipAndLayout( - shipDef->layout, layout, &m_config->modules.modules); + shipDef->layout, layout, &m_config->modules); } else { diff --git a/src/ui/ShipLayoutPreview.cpp b/src/ui/ShipLayoutPreview.cpp index 3c01e5a..5b53c33 100644 --- a/src/ui/ShipLayoutPreview.cpp +++ b/src/ui/ShipLayoutPreview.cpp @@ -12,19 +12,6 @@ const int kCellSize = 8; const int kPlaceholderWidth = 64; const int kPlaceholderHeight = 40; -const ModuleDef* findModuleDef(const std::vector& modules, - const std::string& id) -{ - for (const ModuleDef& def : modules) - { - if (def.id == id) - { - return &def; - } - } - return nullptr; -} - std::vector rotateMaskCW(const std::vector& grid) { if (grid.empty()) @@ -113,7 +100,7 @@ void ShipLayoutPreview::showPlaceholder() void ShipLayoutPreview::setShipAndLayout(const std::vector& shipLayout, const ShipLayoutConfig& layout, - const std::vector* modules) + const ModulesConfig* modules) { m_placeholder = false; m_modules = modules; @@ -144,7 +131,7 @@ void ShipLayoutPreview::setShipAndLayout(const std::vector& shipLay for (int i = 0; i < static_cast(m_placedModules.size()); ++i) { const PlacedModule& pm = m_placedModules[i]; - const ModuleDef* def = findModuleDef(*m_modules, pm.moduleId); + const ModuleDef* def = m_modules->findModuleDef(pm.moduleId); if (!def) { continue; @@ -208,7 +195,7 @@ void ShipLayoutPreview::paintEvent(QPaintEvent* /*event*/) else if (cell.moduleIndex.has_value()) { const PlacedModule& pm = m_placedModules[*cell.moduleIndex]; - const ModuleDef* def = findModuleDef(*m_modules, pm.moduleId); + const ModuleDef* def = m_modules->findModuleDef(pm.moduleId); QColor color(Qt::gray); if (def) { diff --git a/src/ui/ShipLayoutPreview.h b/src/ui/ShipLayoutPreview.h index 92ca1c9..14713bd 100644 --- a/src/ui/ShipLayoutPreview.h +++ b/src/ui/ShipLayoutPreview.h @@ -18,7 +18,7 @@ public: void setShipAndLayout(const std::vector& shipLayout, const ShipLayoutConfig& layout, - const std::vector* modules); + const ModulesConfig* modules); void clear(); // Shows an empty placeholder box (no ship layout) so the preview stays @@ -37,7 +37,7 @@ private: std::vector> m_grid; std::vector m_placedModules; - const std::vector* m_modules; + const ModulesConfig* m_modules; int m_rows; int m_cols; bool m_placeholder = false;