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

public static getLaneArrowFlags ( uint laneId ) : LaneArrows?
laneId uint
Результат LaneArrows?
Пример #1
0
        private static void SaveLaneData(uint i, Configuration configuration)
        {
            try {
                //NetLane.Flags flags = (NetLane.Flags)lane.m_flags;

                /*if ((flags & NetLane.Flags.LeftForwardRight) == NetLane.Flags.None) // only save lanes with explicit lane arrows
                 *      return;*/
                var laneSegmentId = Singleton <NetManager> .instance.m_lanes.m_buffer[i].m_segment;
                if (laneSegmentId <= 0)
                {
                    return;
                }
                if ((Singleton <NetManager> .instance.m_lanes.m_buffer[i].m_flags & (ushort)NetLane.Flags.Created) == 0 || laneSegmentId == 0)
                {
                    return;
                }
                if ((Singleton <NetManager> .instance.m_segments.m_buffer[laneSegmentId].m_flags & NetSegment.Flags.Created) == NetSegment.Flags.None)
                {
                    return;
                }

                //if (TrafficPriority.PrioritySegments.ContainsKey(laneSegmentId)) {
                Flags.LaneArrows?laneArrows = Flags.getLaneArrowFlags(i);
                if (laneArrows != null)
                {
                    uint laneArrowInt = (uint)laneArrows;
                    Log._Debug($"Saving lane data for lane {i}, segment {laneSegmentId}, setting to {laneArrows.ToString()} ({laneArrowInt})");
                    configuration.LaneFlags += $"{i}:{laneArrowInt},";
                }
                //}
            } catch (Exception e) {
                Log.Error($"Error saving NodeLaneData {e.Message}");
            }
        }
        private static void SaveLaneData(uint i, Configuration configuration)
        {
            try {
                //NetLane.Flags flags = (NetLane.Flags)lane.m_flags;

                /*if ((flags & NetLane.Flags.LeftForwardRight) == NetLane.Flags.None) // only save lanes with explicit lane arrows
                 *      return;*/
                if (!NetUtil.IsLaneValid(i))
                {
                    return;
                }

                if (Flags.laneConnections[i] != null)
                {
                    for (int nodeArrayIndex = 0; nodeArrayIndex <= 1; ++nodeArrayIndex)
                    {
                        uint[] connectedLaneIds = Flags.laneConnections[i][nodeArrayIndex];
                        bool   startNode        = nodeArrayIndex == 0;
                        if (connectedLaneIds != null)
                        {
                            foreach (uint otherHigherLaneId in connectedLaneIds)
                            {
                                if (otherHigherLaneId <= i)
                                {
                                    continue;
                                }
                                if (!NetUtil.IsLaneValid(otherHigherLaneId))
                                {
                                    continue;
                                }

                                Log._Debug($"Saving lane connection: lane {i} -> {otherHigherLaneId}");
                                configuration.LaneConnections.Add(new Configuration.LaneConnection(i, (uint)otherHigherLaneId, startNode));
                            }
                        }
                    }
                }

                //if (TrafficPriority.PrioritySegments.ContainsKey(laneSegmentId)) {
                Flags.LaneArrows?laneArrows = Flags.getLaneArrowFlags(i);
                if (laneArrows != null)
                {
                    uint laneArrowInt = (uint)laneArrows;
                    Log._Debug($"Saving lane data for lane {i}, setting to {laneArrows.ToString()} ({laneArrowInt})");
                    configuration.LaneFlags += $"{i}:{laneArrowInt},";
                }
                //}
            } catch (Exception e) {
                Log.Error($"Error saving NodeLaneData {e.Message}");
            }
        }