public void CustomNodeSimulationStep(ushort nodeId, ref NetNode data) { if (simStartFrame == 0) { simStartFrame = Singleton <SimulationManager> .instance.m_currentFrameIndex; } try { if (TrafficLightTool.getToolMode() != ToolMode.AddPrioritySigns) { try { TrafficPriority.nodeHousekeeping(nodeId); } catch (Exception e) { Log.Error($"Error occured while housekeeping node {nodeId}: " + e.ToString()); } } TrafficPriority.TrafficLightSimulationStep(); var nodeSim = TrafficLightSimulation.GetNodeSimulation(nodeId); if (nodeSim == null || !nodeSim.IsSimulationActive()) { OriginalSimulationStep(nodeId, ref data); } } catch (Exception e) { Log.Warning($"CustomNodeSimulationStep: An error occurred: {e.ToString()}"); } }