C# Class CSL_Traffic.DefaultPathFind

This is the (almost) vanilla code found in the PathFind default class. What is changed: 1. IExtendedPathFind implementation 2. private -> protected 3. CalculatePath signature (uint unit, bool skipQueue, ExtendedVehicleType vehicleType)
Inheritance: IExtendedPathFind
Show file Open project: Katalyst6/CSL.TransitAddonMod

Protected Properties

Property Type Description
m_buffer BufferItem[]
m_bufferLock object
m_bufferMax int[]
m_bufferMaxPos int
m_bufferMin int[]
m_bufferMinPos int
m_calculating uint
m_endLaneA uint
m_endLaneB uint
m_ignoreBlocked bool
m_isHeavyVehicle bool
m_laneLocation uint[]
m_laneTarget PathUnit.Position[]
m_laneTypes NetInfo.LaneType
m_maxLength float
m_pathFindIndex uint
m_pathFindThread Thread
m_pathRandomizer Randomizer
m_pathUnits Array32
m_queueFirst uint
m_queueLast uint
m_queueLock object
m_stablePath bool
m_startLaneA uint
m_startLaneB uint
m_startOffsetA byte
m_startOffsetB byte
m_terminated bool
m_transportVehicle bool
m_vehicleLane uint
m_vehicleOffset byte
m_vehicleTypes VehicleInfo.VehicleType

Private Properties

Property Type Description

Public Methods

Method Description
CalculatePath ( uint unit, bool skipQueue, ExtendedVehicleType vehicleType ) : bool
OnAwake ( ) : void
OnDestroy ( ) : void
WaitForAllPaths ( ) : void

Protected Methods

Method Description
AddBufferItem ( BufferItem item, PathUnit target ) : void
CalculateLaneSpeed ( byte startOffset, byte endOffset, NetSegment &segment, NetInfo laneInfo ) : float
GetLaneDirection ( PathUnit pathPos, NetInfo &direction, NetInfo &type ) : void
PathFindImplementation ( uint unit, PathUnit &data ) : void
PathFindThread ( ) : void
ProcessItem ( BufferItem item, ushort targetNode, ushort segmentID, NetSegment &segment, int &currentTargetIndex, byte connectOffset, bool enableVehicle, bool enablePedestrian ) : bool
ProcessItem ( BufferItem item, ushort nodeID, NetNode &node, byte connectOffset, bool isMiddle ) : void
ProcessItem ( BufferItem item, ushort targetNode, bool targetDisabled, ushort segmentID, NetSegment &segment, uint lane, byte offset, byte connectOffset ) : void
ProcessItem ( BufferItem item, ushort targetNode, ushort segmentID, NetSegment &segment, byte connectOffset, int laneIndex, uint lane ) : void

Method Details

AddBufferItem() protected method

protected AddBufferItem ( BufferItem item, PathUnit target ) : void
item BufferItem
target PathUnit
return void

CalculateLaneSpeed() protected method

protected CalculateLaneSpeed ( byte startOffset, byte endOffset, NetSegment &segment, NetInfo laneInfo ) : float
startOffset byte
endOffset byte
segment NetSegment
laneInfo NetInfo
return float

CalculatePath() public method

public CalculatePath ( uint unit, bool skipQueue, ExtendedVehicleType vehicleType ) : bool
unit uint
skipQueue bool
vehicleType ExtendedVehicleType
return bool

GetLaneDirection() protected method

protected GetLaneDirection ( PathUnit pathPos, NetInfo &direction, NetInfo &type ) : void
pathPos PathUnit
direction NetInfo
type NetInfo
return void

OnAwake() public method

public OnAwake ( ) : void
return void

OnDestroy() public method

public OnDestroy ( ) : void
return void

PathFindImplementation() protected method

protected PathFindImplementation ( uint unit, PathUnit &data ) : void
unit uint
data PathUnit
return void

PathFindThread() protected method

protected PathFindThread ( ) : void
return void

ProcessItem() protected method

protected ProcessItem ( BufferItem item, ushort targetNode, ushort segmentID, NetSegment &segment, int &currentTargetIndex, byte connectOffset, bool enableVehicle, bool enablePedestrian ) : bool
item BufferItem
targetNode ushort
segmentID ushort
segment NetSegment
currentTargetIndex int
connectOffset byte
enableVehicle bool
enablePedestrian bool
return bool

ProcessItem() protected method

protected ProcessItem ( BufferItem item, ushort nodeID, NetNode &node, byte connectOffset, bool isMiddle ) : void
item BufferItem
nodeID ushort
node NetNode
connectOffset byte
isMiddle bool
return void

ProcessItem() protected method

protected ProcessItem ( BufferItem item, ushort targetNode, bool targetDisabled, ushort segmentID, NetSegment &segment, uint lane, byte offset, byte connectOffset ) : void
item BufferItem
targetNode ushort
targetDisabled bool
segmentID ushort
segment NetSegment
lane uint
offset byte
connectOffset byte
return void

ProcessItem() protected method

protected ProcessItem ( BufferItem item, ushort targetNode, ushort segmentID, NetSegment &segment, byte connectOffset, int laneIndex, uint lane ) : void
item BufferItem
targetNode ushort
segmentID ushort
segment NetSegment
connectOffset byte
laneIndex int
lane uint
return void

WaitForAllPaths() public method

public WaitForAllPaths ( ) : void
return void

Property Details

m_buffer protected property

protected BufferItem[] m_buffer
return BufferItem[]

m_bufferLock protected property

protected object m_bufferLock
return object

m_bufferMax protected property

protected int[] m_bufferMax
return int[]

m_bufferMaxPos protected property

protected int m_bufferMaxPos
return int

m_bufferMin protected property

protected int[] m_bufferMin
return int[]

m_bufferMinPos protected property

protected int m_bufferMinPos
return int

m_calculating protected property

protected uint m_calculating
return uint

m_endLaneA protected property

protected uint m_endLaneA
return uint

m_endLaneB protected property

protected uint m_endLaneB
return uint

m_ignoreBlocked protected property

protected bool m_ignoreBlocked
return bool

m_isHeavyVehicle protected property

protected bool m_isHeavyVehicle
return bool

m_laneLocation protected property

protected uint[] m_laneLocation
return uint[]

m_laneTarget protected property

protected PathUnit.Position[] m_laneTarget
return PathUnit.Position[]

m_laneTypes protected property

protected NetInfo.LaneType m_laneTypes
return NetInfo.LaneType

m_maxLength protected property

protected float m_maxLength
return float

m_pathFindIndex protected property

protected uint m_pathFindIndex
return uint

m_pathFindThread protected property

protected Thread m_pathFindThread
return Thread

m_pathRandomizer protected property

protected Randomizer m_pathRandomizer
return Randomizer

m_pathUnits protected property

protected Array32 m_pathUnits
return Array32

m_queueFirst protected property

protected uint m_queueFirst
return uint

m_queueLast protected property

protected uint m_queueLast
return uint

m_queueLock protected property

protected object m_queueLock
return object

m_stablePath protected property

protected bool m_stablePath
return bool

m_startLaneA protected property

protected uint m_startLaneA
return uint

m_startLaneB protected property

protected uint m_startLaneB
return uint

m_startOffsetA protected property

protected byte m_startOffsetA
return byte

m_startOffsetB protected property

protected byte m_startOffsetB
return byte

m_terminated protected property

protected bool m_terminated
return bool

m_transportVehicle protected property

protected bool m_transportVehicle
return bool

m_vehicleLane protected property

protected uint m_vehicleLane
return uint

m_vehicleOffset protected property

protected byte m_vehicleOffset
return byte

m_vehicleTypes protected property

protected VehicleInfo.VehicleType m_vehicleTypes
return VehicleInfo.VehicleType