extends RefCounted # #216 made hub and workshop crews built things: ordered at a ship crafter, # flown out from the mothership hangar, and worn out by the work they do. # # A test that is about what a crew DOES should not have to build and fly one # in first, so this puts them straight at their post. The assignment is still # made, so the structure counts them as its own and reports them the way it # would if they had arrived on their own - only the journey is skipped. # # test_transporter_supply.gd owns the journey itself, and does not use this. # Tops the structure UP to `count`, rather than adding that many: a hub asked # for three when it already holds two needs one more, and the order is clamped # to what it can hold anyway. static func staff(game_state: Node, building_id: int, count: int) -> void: game_state.set_station_desired(building_id, count) while game_state.station_crew(building_id) < game_state.station_desired(building_id): game_state._station_arrived(building_id) # Every hub and workshop already standing, filled to what it can hold. For # tests that just need logistics to work at all. static func staff_all(game_state: Node) -> void: for building in game_state.buildings: if game_state.station_vessel_type(building) == "": continue staff(game_state, int(building.id), game_state.station_capacity(building))