Пример #1
0
        public static List <ushort> GenerateTileMap(TileMapType tileMapType)
        {
            List <ushort>  tilemap        = new List <ushort>();
            List <Color[]> allTilesColors = GetAllTileColors(tileMapType.Tiles);
            List <Color[]> unicas         = GetUniqueTilesAndColors(allTilesColors, tileMapType);

            foreach (var tile in allTilesColors)
            {
                int contador = 0;

                foreach (var tileEscolhida in unicas)
                {
                    if (CompareTilesColors(tile, tileEscolhida))
                    {
                        break;
                    }

                    contador++;
                }

                tilemap.Add((ushort)contador);
            }

            // tiles = unicas;

            return(tilemap);
        }
Пример #2
0
        private static List <Color[]> GetUniqueTilesAndColors(List <Color[]> AllTileColors, TileMapType tileMapType)
        {
            List <Color[]> tilesColors = new List <Color[]>();
            List <Bitmap>  unique      = new List <Bitmap>();
            int            counter     = 0;

            foreach (var item in AllTileColors)
            {
                bool existe = false;

                foreach (var tl in tilesColors)
                {
                    if (CompareTilesColors(item, tl))
                    {
                        existe = true;
                        break;
                    }
                }

                if (!existe)
                {
                    tilesColors.Add(item);
                    unique.Add(tileMapType.Tiles[counter]);
                }

                counter++;
            }
            tileMapType.Tiles = unique;
            return(tilesColors);
        }