C# Класс TrafficManager.Traffic.TrafficPriority

Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
PrioritySegments TrafficSegment[]
markedVehicles HashSet[]
maxStopVelocity float

Открытые методы

Метод Описание
AddPrioritySegment ( ushort nodeId, ushort segmentId, SegmentEnd type ) : void
GetPrioritySegment ( ushort nodeId, ushort segmentId ) : SegmentEnd
GetPrioritySegmentIds ( ushort nodeId ) : List
GetSegmentDir ( int segment, ushort nodeid ) : Vector3
GetVehiclePosition ( ushort vehicleId ) : VehiclePosition
HasIncomingVehiclesWithHigherPriority ( ushort targetVehicleId, ushort nodeId ) : bool
IsLaneOrderConflictFree ( ushort segmentId, uint leftLaneIndex, uint rightLaneIndex ) : bool
IsLeftHandDrive ( ) : bool

Determines if the map uses a left-hand traffic system

IsLeftSegment ( ushort fromSegment, ushort toSegment, ushort nodeid ) : bool
IsPriorityNode ( ushort nodeId ) : bool
IsPrioritySegment ( ushort nodeId, ushort segmentId ) : bool
IsRightSegment ( ushort fromSegment, ushort toSegment, ushort nodeid ) : bool
RemovePrioritySegments ( ushort nodeId ) : void
TrafficLightSimulationStep ( ) : void
getPriorityNodes ( ) : HashSet
nodeHousekeeping ( ushort nodeId ) : void
segmentHousekeeping ( ushort segmentId ) : void

Защищенные методы

Метод Описание
HasVehiclePriority ( bool debug, ushort targetCarId, bool targetIsOnMainRoad, ushort incomingCarId, bool incomingIsOnMainRoad, ushort nodeId ) : bool

Приватные методы

Метод Описание
AddPriorityNode ( ushort nodeId ) : byte

Adds/Sets a node as a priority node

AddVehicle ( ushort vehicleId, VehiclePosition vehiclePos ) : void
ClearTraffic ( ) : void
HandleAllVehicles ( ) : void
InvertLeftRight ( Direction dir ) : Direction
MarkVehicleInSegment ( ushort vehicleId, ushort segmentId ) : void
OnLevelLoading ( ) : void
OnLevelUnloading ( ) : void
RemovePrioritySegment ( ushort nodeId, ushort segmentId ) : void
RemoveVehicleFromSegments ( ushort vehicleId ) : void
RequestClearTraffic ( ) : void
TrafficPriority ( ) : System
UnmarkVehicleInSegment ( ushort vehicleId, ushort segmentId ) : void
fixJunctions ( ) : void
isValidPriorityNode ( ushort nodeId, NodeValidityState &nodeState ) : bool
rebuildPriorityNodes ( ) : void

rebuilds the implicitly defined set of priority nodes (traffic light nodes & nodes with priority signs)

Описание методов

AddPrioritySegment() публичный статический Метод

public static AddPrioritySegment ( ushort nodeId, ushort segmentId, SegmentEnd type ) : void
nodeId ushort
segmentId ushort
type SegmentEnd
Результат void

GetPrioritySegment() публичный статический Метод

public static GetPrioritySegment ( ushort nodeId, ushort segmentId ) : SegmentEnd
nodeId ushort
segmentId ushort
Результат SegmentEnd

GetPrioritySegmentIds() публичный статический Метод

public static GetPrioritySegmentIds ( ushort nodeId ) : List
nodeId ushort
Результат List

GetSegmentDir() публичный статический Метод

public static GetSegmentDir ( int segment, ushort nodeid ) : Vector3
segment int
nodeid ushort
Результат Vector3

GetVehiclePosition() публичный статический Метод

public static GetVehiclePosition ( ushort vehicleId ) : VehiclePosition
vehicleId ushort
Результат VehiclePosition

HasIncomingVehiclesWithHigherPriority() публичный статический Метод

public static HasIncomingVehiclesWithHigherPriority ( ushort targetVehicleId, ushort nodeId ) : bool
targetVehicleId ushort
nodeId ushort
Результат bool

HasVehiclePriority() защищенный статический Метод

protected static HasVehiclePriority ( bool debug, ushort targetCarId, bool targetIsOnMainRoad, ushort incomingCarId, bool incomingIsOnMainRoad, ushort nodeId ) : bool
debug bool
targetCarId ushort
targetIsOnMainRoad bool
incomingCarId ushort
incomingIsOnMainRoad bool
nodeId ushort
Результат bool

IsLaneOrderConflictFree() публичный статический Метод

public static IsLaneOrderConflictFree ( ushort segmentId, uint leftLaneIndex, uint rightLaneIndex ) : bool
segmentId ushort
leftLaneIndex uint
rightLaneIndex uint
Результат bool

IsLeftHandDrive() публичный статический Метод

Determines if the map uses a left-hand traffic system
public static IsLeftHandDrive ( ) : bool
Результат bool

IsLeftSegment() публичный статический Метод

public static IsLeftSegment ( ushort fromSegment, ushort toSegment, ushort nodeid ) : bool
fromSegment ushort
toSegment ushort
nodeid ushort
Результат bool

IsPriorityNode() публичный статический Метод

public static IsPriorityNode ( ushort nodeId ) : bool
nodeId ushort
Результат bool

IsPrioritySegment() публичный статический Метод

public static IsPrioritySegment ( ushort nodeId, ushort segmentId ) : bool
nodeId ushort
segmentId ushort
Результат bool

IsRightSegment() публичный статический Метод

public static IsRightSegment ( ushort fromSegment, ushort toSegment, ushort nodeid ) : bool
fromSegment ushort
toSegment ushort
nodeid ushort
Результат bool

RemovePrioritySegments() публичный статический Метод

public static RemovePrioritySegments ( ushort nodeId ) : void
nodeId ushort
Результат void

TrafficLightSimulationStep() публичный статический Метод

public static TrafficLightSimulationStep ( ) : void
Результат void

getPriorityNodes() публичный статический Метод

public static getPriorityNodes ( ) : HashSet
Результат HashSet

nodeHousekeeping() публичный статический Метод

public static nodeHousekeeping ( ushort nodeId ) : void
nodeId ushort
Результат void

segmentHousekeeping() публичный статический Метод

public static segmentHousekeeping ( ushort segmentId ) : void
segmentId ushort
Результат void

Описание свойств

PrioritySegments публичное статическое свойство

Dictionary of segments that are connected to roads with timed traffic lights or priority signs. Index: segment id
public static TrafficSegment[] PrioritySegments
Результат TrafficSegment[]

markedVehicles публичное статическое свойство

Markers that defined in which segment(s) a vehicle will be in the near future. Index: vehicle id
public static HashSet[] markedVehicles
Результат HashSet[]

maxStopVelocity публичное статическое свойство

public static float maxStopVelocity
Результат float