| 35 | namespace Star { |
| 36 | |
| 37 | AiInterface::AiInterface(UniverseClientPtr client, CinematicPtr cinematic, MainInterfacePaneManager* paneManager) { |
| 38 | m_client = client; |
| 39 | m_cinematic = cinematic; |
| 40 | m_paneManager = paneManager; |
| 41 | |
| 42 | m_textLength = 0.0; |
| 43 | m_textMaxLength = 0.0; |
| 44 | |
| 45 | m_aiDatabase = Root::singleton().aiDatabase(); |
| 46 | auto assets = Root::singleton().assets(); |
| 47 | |
| 48 | GuiReader reader; |
| 49 | reader.registerCallback("close", bind(mem_fn(&AiInterface::dismiss), this)); |
| 50 | reader.registerCallback("missionItemList", bind(mem_fn(&AiInterface::selectMission), this)); |
| 51 | reader.registerCallback("startMission", bind(mem_fn(&AiInterface::startMission), this)); |
| 52 | reader.registerCallback("crewItemList", bind(mem_fn(&AiInterface::selectRecruit), this)); |
| 53 | reader.registerCallback("dismissRecruit", bind(mem_fn(&AiInterface::dismissRecruit), this)); |
| 54 | reader.registerCallback("showMissions", bind(mem_fn(&AiInterface::showMissions), this)); |
| 55 | reader.registerCallback("showCrew", bind(mem_fn(&AiInterface::showCrew), this)); |
| 56 | reader.registerCallback("goBack", bind(mem_fn(&AiInterface::goBack), this)); |
| 57 | |
| 58 | reader.construct(assets->json("/interface/ai/ai.config:guiConfig"), this); |
| 59 | |
| 60 | m_mainStack = fetchChild<StackWidget>("mainStack"); |
| 61 | m_missionStack = findChild<StackWidget>("missionStack"); |
| 62 | m_crewStack = findChild<StackWidget>("crewStack"); |
| 63 | |
| 64 | m_breadcrumbLeftPadding = assets->json("/interface/ai/ai.config:breadcrumbLeftPadding").toInt(); |
| 65 | m_breadcrumbRightPadding = assets->json("/interface/ai/ai.config:breadcrumbRightPadding").toInt(); |
| 66 | m_homeBreadcrumbBackground = fetchChild<ImageStretchWidget>("homeBreadcrumbBg"); |
| 67 | m_pageBreadcrumbBackground = fetchChild<ImageStretchWidget>("pageBreadcrumbBg"); |
| 68 | m_itemBreadcrumbBackground = fetchChild<ImageStretchWidget>("itemBreadcrumbBg"); |
| 69 | |
| 70 | m_homeBreadcrumbWidget = fetchChild<LabelWidget>("homeBreadcrumb"); |
| 71 | m_pageBreadcrumbWidget = fetchChild<LabelWidget>("pageBreadcrumb"); |
| 72 | m_itemBreadcrumbWidget = fetchChild<LabelWidget>("itemBreadcrumb"); |
| 73 | |
| 74 | m_aiFaceCanvasWidget = findChild<CanvasWidget>("aiFaceCanvas"); |
| 75 | m_missionListWidget = findChild<ListWidget>("missionItemList"); |
| 76 | m_crewListWidget = findChild<ListWidget>("crewItemList"); |
| 77 | |
| 78 | m_showMissionsButton = findChild<ButtonWidget>("showMissions"); |
| 79 | m_showCrewButton = findChild<ButtonWidget>("showCrew"); |
| 80 | m_backButton = findChild<ButtonWidget>("backButton"); |
| 81 | |
| 82 | m_missionNameLabel = findChild<LabelWidget>("missionName"); |
| 83 | m_missionIcon = findChild<ImageWidget>("missionIcon"); |
| 84 | m_startMissionButton = findChild<ButtonWidget>("startMission"); |
| 85 | |
| 86 | m_recruitNameLabel = findChild<LabelWidget>("recruitName"); |
| 87 | m_recruitIcon = findChild<ImageWidget>("recruitIcon"); |
| 88 | m_dismissRecruitButton = findChild<ButtonWidget>("dismissRecruit"); |
| 89 | |
| 90 | m_species = m_client->mainPlayer()->species(); |
| 91 | m_staticAnimation = m_aiDatabase->staticAnimation(m_species); |
| 92 | m_scanlineAnimation = m_aiDatabase->scanlineAnimation(); |
| 93 | |
| 94 | m_missionBreadcrumbText = assets->json("/interface/ai/ai.config:missionBreadcrumbText").toString(); |
nothing calls this directly
no test coverage detected