loadSignals
Definition
-- @/lua/ge/extensions/core/trafficSignals.lua:1426
local function loadSignals(filePath) -- loads signals json file from given file path or default file path
if not filePath then -- auto load signals, if they exist
local levelDir = path.split(getMissionFilename()) or ''
filePath = levelDir..'signals.json'
end
loadControllerDefinitions() -- auto load controller definitions, if they exist
if FS:fileExists(filePath) then
local data = jsonReadFile(filePath)
if data then
data.instances = data.instances or {}
for i, v in ipairs(data.instances) do
local new = SignalInstance:new()
new:onDeserialized(v)
data.instances[i] = new
end
data.controllers = data.controllers or {}
for i, v in ipairs(data.controllers) do
local new = SignalController:new()
new:onDeserialized(v)
data.controllers[i] = new
end
data.sequences = data.sequences or {}
for i, v in ipairs(data.sequences) do
local new = SignalSequence:new()
new:onDeserialized(v)
data.sequences[i] = new
end
setupSignals(data)
log('I', logTag, string.format('Traffic signals loaded (%d instances, %d controllers, %d sequences)', #data.instances, #data.controllers, #data.sequences))
return true
end
end
return false
end
Callers
@/lua/ge/extensions/core/trafficSignals.lua
local function onClientStartMission()
loadSignals()
end
@/lua/ge/extensions/editor/trafficManager.lua
if fullReset then
core_trafficSignals.loadSignals() -- loads original signals of map
core_trafficSignals.setActive(true, true)
if data.signals then
core_trafficSignals.loadSignals() -- load original signals, if applicable
core_trafficSignals.setActive(true, true) -- this is required to actually run the signals simulation
else
core_trafficSignals.loadSignals() -- attempt to load original traffic signals
end
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/signals/fileTrafficSignals.lua
if core_trafficSignals then
core_trafficSignals.loadSignals() -- reload default signals file for the map
end
if file then
core_trafficSignals.loadSignals(file)
elseif self.data.useDefaultFileFromLevel then
elseif self.data.useDefaultFileFromLevel then
core_trafficSignals.loadSignals()
end