better localization

This commit is contained in:
Monica Moniot
2022-11-04 18:01:37 -04:00
parent 8e3bc00492
commit 1cb283c1fd
4 changed files with 33 additions and 10 deletions

View File

@@ -450,6 +450,27 @@ function update_station_if_auto(map_data, station, forbidden_entity)
end
end
---@param map_data MapData
---@param rail LuaEntity
---@param forbidden_entity LuaEntity?
function force_update_station_from_rail(map_data, rail, forbidden_entity)
--NOTE: should we search further or better? it would be more expensive
local entity = rail.get_rail_segment_entity(defines.rail_direction.back, false)
if entity and entity.valid and entity.name == "train-stop" then
local station = map_data.stations[entity.unit_number]
if station then
reset_station_layout(map_data, station, forbidden_entity)
end
else
entity = rail.get_rail_segment_entity(defines.rail_direction.front, false)
if entity and entity.valid and entity.name == "train-stop" then
local station = map_data.stations[entity.unit_number]
if station then
reset_station_layout(map_data, station, forbidden_entity)
end
end
end
end
---@param map_data MapData
---@param rail LuaEntity
---@param forbidden_entity LuaEntity?

View File

@@ -231,7 +231,7 @@ local function on_combinator_built(map_data, comb)
end
if control.operation == OPERATION_WAGON_MANIFEST then
if rail then
update_station_from_rail(map_data, rail, nil)
force_update_station_from_rail(map_data, rail, nil)
end
elseif control.operation == OPERATION_DEPOT then
if stop then
@@ -287,11 +287,14 @@ function on_combinator_network_updated(map_data, comb, network_name)
local depot = map_data.depots[stop.unit_number]
if depot.entity_comb == comb then
if depot.available_train then
---@type uint
local train_id = depot.available_train
remove_available_train(map_data, depot)
add_available_train(map_data, depot, depot.available_train)
depot.network_name = network_name
add_available_train(map_data, depot, train_id)
else
depot.network_name = network_name
end
depot.network_name = network_name
end
end
end