GE Lua Documentation

Press F to search!

setupSignalObjects

Definition


-- @/lua/ge/extensions/core/trafficSignals.lua:50

local function setupSignalObjects() -- sets and caches the table of TSStatics that are used as signals
  table.clear(signalObjectsDict)

  local statics = getObjectsByClass('TSStatic')
  if statics then
    for _, obj in ipairs(statics) do -- search for static objects with dynamic data
      local instanceName = obj.signalInstance -- signal instance dynamic field
      if instanceName then
        signalObjectsDict[instanceName] = signalObjectsDict[instanceName] or {}
        table.insert(signalObjectsDict[instanceName], obj:getId())
      end
    end
  end
end

Callers

@/lua/ge/extensions/core/trafficSignals.lua
function SignalInstance:getSignalObjects(refresh) -- returns table of objects that are used as signals, as ids
  if refresh or not next(signalObjectsDict) then setupSignalObjects() end
  return signalObjectsDict[self.name] or {}
  if data then
    setupSignalObjects()