| 241 | } |
| 242 | |
| 243 | void AiInterface::selectMission() { |
| 244 | size_t selectedItem = m_missionListWidget->selectedItem(); |
| 245 | |
| 246 | Maybe<String> mission = {}; |
| 247 | if (selectedItem < m_availableMissions.size()) |
| 248 | mission = m_availableMissions.at(selectedItem); |
| 249 | else if (selectedItem < m_availableMissions.size() + m_completedMissions.size()) |
| 250 | mission = m_completedMissions.at(selectedItem - m_availableMissions.size()); |
| 251 | |
| 252 | m_selectedMission = mission; |
| 253 | |
| 254 | if (m_selectedMission) { |
| 255 | m_currentPage = AiPages::MissionPage; |
| 256 | |
| 257 | auto mission = m_aiDatabase->mission(*m_selectedMission); |
| 258 | auto missionText = mission.speciesText.value(m_species, mission.speciesText.value("default")); |
| 259 | setCurrentSpeech("missionText", missionText.selectSpeech); |
| 260 | m_missionNameLabel->setText(missionText.buttonText); |
| 261 | m_missionIcon->setImage(mission.icon); |
| 262 | |
| 263 | m_itemBreadcrumbWidget->setText(m_missionDeployText); |
| 264 | |
| 265 | m_missionStack->showPage(2); |
| 266 | |
| 267 | updateBreadcrumbs(); |
| 268 | } |
| 269 | } |
| 270 | |
| 271 | void AiInterface::showCrew() { |
| 272 | m_currentPage = AiPages::CrewList; |