createGroup
Definition
-- @/lua/ge/extensions/core/multiSpawn.lua:285
local function createGroup(amount, params) -- creates a group array from a table of parameters
-- params = {allMods, allConfigs, filters, country, modelPopPower, configPopPower}
params = params or {}
amount = amount or 10 -- default group size
params.filters = params.filters or deepcopy(defaultFilters)
-- default filters: Type = selects valid road vehicles
-- special filters: maxYear = latest year to allow for selection
if params.country then params.country = string.lower(params.country) end
local vehData = getInstalledVehicleData(params)
if not vehData[1] then
log('I', logTag, 'No vehicle data found from filters, now returning empty group')
return {}
end
-- set population data for models, then for its configs
vehData = setPopulationData(vehData, params.country, params.modelPopPower)
for _, v in ipairs(vehData) do
v.configData = setPopulationData(v.configData, nil, params.configPopPower)
end
return buildGroup(vehData, amount, params.modelPopPower, params.configPopPower, params.popDecreaseFactor)
end
Callers
@/lua/ge/extensions/editor/tech/roadArchitect/groups.lua
-- Identifies group (from given polygon) and creates a new prefab group.
local function createGroup(gPolygon, roads)
@/lua/ge/extensions/gameplay/traffic.lua
amount = amount or max(1, getAmountFromSettings() - #getAllVehiclesByType()) -- if amount nil, automatically sets a limited amount to save performance
groupData = groupData or core_multiSpawn.createGroup(amount)
options = type(options) == 'table' and options or {}
spawnTraffic(amount, core_multiSpawn.createGroup(amount, params))
end
@/lua/ge/extensions/editor/roadArchitect.lua
gPolygon[#gPolygon + 1] = gPolygon[1]
groupMgr.createGroup(gPolygon, roads)
table.clear(gPolygon)
@/lua/ge/extensions/editor/multiSpawnManager.lua
local function createGroup(data) -- creates a new vehicle group to edit
data = data or {}
core_multiSpawn.useFullData = true
options.generatedGroup = core_multiSpawn.createGroup(currGroup.generator.amount, currGroup.generator)
end
tempData.data = deepcopy(options.generatedGroup)
createGroup(tempData)
if currGroup.generator then
tempGroup = core_multiSpawn.createGroup(currGroup.generator.amount, currGroup.generator)
elseif currGroup.data then
if im.MenuItem1("New") then
createGroup()
end
tempData.name = tempData.name.." - Copy"
createGroup(tempData)
end
if im.Button("New Group") then
createGroup()
end
@/lua/ge/extensions/core/multiSpawn.lua
log('W', logTag, 'Could not parse vehicle group data, now creating default group...')
group = createGroup()
end
log('W', logTag, 'This function is deprecated, please use function: spawnGroup')
return spawnGroup(createGroup(), amount, {shuffle = shuffle, mode = spawnMode, gap = spawnGap})
end
@/lua/ge/extensions/gameplay/parking.lua
group = core_multiSpawn.createGroup(amount, params)
end
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/fileVehicleGroup.lua
local amount = self.vehGroup.generator and self.vehGroup.generator.amount or 10
self.vehGroup.data = core_multiSpawn.createGroup(amount, self.vehGroup.generator)
end
@/lua/ge/extensions/util/stepHandler.lua
-- step 0: spawn group
local group = core_multiSpawn.createGroup(step.options.amount, step.options.generator)
step.groupId = core_multiSpawn.spawnGroup(group, step.options.amount, {name = group.name, shuffle = true, mode = "traffic"})
@/lua/ge/extensions/gameplay/traffic/trafficUtils.lua
return core_multiSpawn.createGroup(amount, params)
end
return core_multiSpawn.createGroup(amount, params)
end
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficCustomGroup.lua
log('W', 'trafficCustomGroup', 'Invalid vehicle group data, now creating default data')
self.group.data = core_multiSpawn.createGroup(20)
end