CSL_Traffic.CustomTransportLineAI.UpdateLaneConnection C# (CSharp) Метод

UpdateLaneConnection() приватный Метод

private UpdateLaneConnection ( ushort nodeID, NetNode &data ) : void
nodeID ushort
data NetNode
Результат void
        public override void UpdateLaneConnection(ushort nodeID, ref NetNode data)
        {
            if ((data.m_flags & NetNode.Flags.Temporary) == NetNode.Flags.None)
            {
                uint num = 0u;
                byte offset = 0;
                float num2 = 1E+10f;
                PathUnit.Position pathPos;
                PathUnit.Position position;
                float num3;
                float num4;
                if ((data.m_flags & NetNode.Flags.ForbidLaneConnection) == NetNode.Flags.None && PathManager.FindPathPosition(data.m_position, this.m_netService, NetInfo.LaneType.Pedestrian, VehicleInfo.VehicleType.None, this.m_vehicleType, true, false, 32f, out pathPos, out position, out num3, out num4) && num3 < num2)
                {
                    NetManager instance = Singleton<NetManager>.instance;
                    int num5;
                    uint num6;
                    if (instance.m_segments.m_buffer[(int)pathPos.m_segment].GetClosestLane((int)pathPos.m_lane, NetInfo.LaneType.Vehicle | NetInfo.LaneType.TransportVehicle, this.m_vehicleType, out num5, out num6))
                    {
                        num = PathManager.GetLaneID(pathPos);
                        offset = pathPos.m_offset;
                    }
                }
                if (num != data.m_lane)
                {
                    if (data.m_lane != 0u)
                    {
                        this.RemoveLaneConnection(nodeID, ref data);
                    }
                    if (num != 0u)
                    {
                        this.AddLaneConnection(nodeID, ref data, num, offset);
                    }
                }
            }
        }