internal bool CalculateGroupData(ushort nodeID, int layer, ref int vertexCount, ref int triangleCount, ref int objectCount, ref RenderGroup.VertexArrays vertexArrays) { var result = false; for (int y = 0; y < Data.BoardsContainers.GetLength(1); y++) { for (int z = 0; z < Data.BoardsContainers.GetLength(2); z++) { ref CacheRoadNodeItem item = ref Data.BoardsContainers[nodeID, y, z]; if (item?.m_renderPlate ?? false) { ref BoardInstanceRoadNodeXml targetDescriptor = ref item.m_currentDescriptor; if (targetDescriptor?.Descriptor?.PropName == null) { continue; } WTSDynamicTextRenderingRules.GetColorForRule(nodeID, y, z, targetDescriptor.Descriptor, targetDescriptor, out bool rendered); if (rendered && !(item.m_currentDescriptor.Descriptor?.CachedProp is null)) { result = PropInstance.CalculateGroupData(item.m_currentDescriptor.Descriptor.CachedProp, layer, ref vertexCount, ref triangleCount, ref objectCount, ref vertexArrays); } } }
private void UpdateDistrictList(ref BoardInstanceRoadNodeXml reference) { var districts = DistrictUtils.GetValidParks().ToDictionary(x => x.Key, x => 0x100 | x.Value).Concat(DistrictUtils.GetValidDistricts()).OrderBy(x => x.Value == 0 ? "" : x.Key).ToDictionary(x => x.Key, x => x.Value); ref DistrictPark[] parkBuffer = ref Singleton <DistrictManager> .instance.m_parks.m_buffer;