예제 #1
0
        public static bool UpdateRenderLayerBuffer(IMapHighlightInfo info, ushort mapWidth, ushort layer, List <int> buffer, List <uint> processedBuffer)
        {
            if ((info.Dirty & layer) == 0)
            {
                return(false);
            }
            var enumerator = info.GetPoints(layer);

            processedBuffer.Clear();
            while (enumerator.MoveNext())
            {
                uint j = (uint)MapCommons.IndexOf(enumerator.Current, mapWidth);
                if (processedBuffer.Contains(j))
                {
                    continue;
                }
                for (byte k = 0; k < 6; k++)
                {
                    buffer.Add((int)(j * 4 + TILE_INDICES[k]));
                }
                processedBuffer.Add(j);
            }
            return(true);
        }
예제 #2
0
 public static bool UpdateRenderLayerBuffer(IMapHighlightInfo info, ushort mapWidth, MapLayer layer, List <int> buffer, List <uint> processedBuffer) => UpdateRenderLayerBuffer(info, mapWidth, (ushort)layer, buffer, processedBuffer);