MCPcopy Create free account
hub / github.com/OpenApoc/OpenApoc / addBuildingToRightList

Method addBuildingToRightList

game/ui/components/agentassignment.cpp:587–620  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

585}
586
587void AgentAssignment::addBuildingToRightList(sp<Building> building, sp<MultilistBox> list,
588 const int listOffset)
589{
590 const int offset = 20;
591
592 auto buildingControl = ControlGenerator::createBuildingAssignmentControl(*state, building);
593 buildingControl->Size.x -= listOffset;
594 buildingControl->SelectionSize.x -= listOffset;
595 list->addItem(buildingControl);
596
597 auto vehicleRightList = buildingControl->createChild<MultilistBox>();
598 vehicleRightList->Name = VEHICLE_LIST_NAME;
599 vehicleRightList->Location.x = offset;
600 vehicleRightList->Location.y = buildingControl->SelectionSize.y + list->ItemSpacing;
601 vehicleRightList->ItemSpacing = list->ItemSpacing;
602 // set visibility filter
603 vehicleRightList->setFuncIsVisibleItem(
604 [](sp<Control> c)
605 {
606 auto vehicle = c->getData<Vehicle>();
607 bool visible =
608 vehicle->currentBuilding == c->getParent()->getParent()->getData<Building>();
609 c->setVisible(visible);
610 return visible;
611 });
612 // set selection behaviour
613 vehicleRightList->setFuncHandleSelection(funcHandleVehicleSelection);
614 // set selection render
615 vehicleRightList->setFuncSelectionItemRender(funcSelectionItemRender);
616 // set hover render
617 vehicleRightList->setFuncHoverItemRender(funcHoverItemRender);
618
619 addVehiclesToList(vehicleRightList, offset + listOffset);
620}
621
622/**
623 * Get selected agents with preservation of order.

Callers

nothing calls this directly

Calls 7

setFuncIsVisibleItemMethod · 0.80
getParentMethod · 0.80
addItemMethod · 0.45
setVisibleMethod · 0.45

Tested by

no test coverage detected