createTemplateFn = function(params)
local result = {}
local length = ({ 2, 3, 4, 6, 8 })[params.length + 1]
local s = -math.floor((length - 1) / 2)
local e = math.floor(length / 2)
local even = length % 2 == 0
-- [メイン駅舎設定]
-- 中央上端 (i = 0, j = 0) に駅舎を追加
local k = even and 2 or 0
local o = 1 -- !!! 0 or 1
result[GetId(mainBuildingTag, throughBackTag, 0, 0, k, o)] = "station/rail/modular_station/main_building_3_era_c.module"
-- [線路/プラットフォーム設置]
local trackModule = "station/rail/modular_station/platform" ..
(params.trackType == 0 and "" or "_high_speed") ..
"_track" ..
(params.catenary == 0 and "" or "_catenary") .. ".module"
local numTracks = params.tracks + 1
local numPlatforms = math.ceil((numTracks + 1) / 2)
for i = 0, numTracks + numPlatforms - 1 do
if i % 3 == 0 then
-- 長さ方向すべてのスロットにホームと屋根を追加
for j = s, e do
result[GetId(platformTag, passengerTag, i, j)] = "station/rail/modular_station/platform_passenger_era_c.module"
result[GetId(addonTag, roofTag, i, j)] = "station/rail/modular_station/platform_passenger_roof_era_c.module"
end
-- 中央 (j = 0) に階段を追加
result[GetId(addonTag, genericAddonTag, i, 0)] = "station/rail/modular_station/addon_platform_passenger_stairs_era_c.module"
else
-- 長さ方向すべてのスロットにホームと屋根を追加
for j = s, e do
result[GetId(trackTag, nil, i, j)] = trackModule
end
end
end
return result
end,