public void Update(NetInfo netInfo) { try { UsedCustomFlags = GetUsedCustomFlags(netInfo); UpdateParkingAngle(); UpdateConnectGroups(netInfo); } catch (Exception ex) { ex.Log(); } }
static CustomFlags GetUsedCustomFlags(NetInfo info) { var ret = new CustomFlags(); foreach (var item in info.m_nodes) { if (item.GetMetaData() is Node metaData) { ret |= metaData.UsedCustomFlags; } } foreach (var item in info.m_segments) { if (item.GetMetaData() is Segment metaData) { ret |= metaData.UsedCustomFlags; } } foreach (var lane in info.m_lanes) { var props = lane.m_laneProps?.m_props; if (props.IsNullorEmpty()) { continue; } foreach (var item in props) { if (item.GetMetaData() is LaneProp metaData) { ret |= metaData.UsedCustomFlags; } } } return(ret); }
public void Update(NetInfo template) { UsedCustomFlags = GetUsedCustomFlags(template); }