Example #1
0
        public void ReadBiomeLayerTest(int index)
        {
            TLayer    layer  = _fixture.Layers[index];
            var       reader = new PNGMapLayerReader(layer.Bitmap, layer.MapLayerHeader);
            TMapLayer result = reader.ReadLayer();

            Assert.Equal(layer.MapLayerHeader.Type, result.Type);

            Dictionary <string, TColor> dict = layer.MapLayerHeader.Colors.ToDictionary(col => col.Type, col => col.Color);

            for (int y = 0; y < layer.Bitmap.Height; y++)
            {
                for (int x = 0; x < layer.Bitmap.Width; x++)
                {
                    var pixel = layer.Bitmap.GetPixel(x, y);
                    var color = dict[result.GetValue(x, y)];
                    Assert.Equal(pixel.R, color.R);
                    Assert.Equal(pixel.G, color.G);
                    Assert.Equal(pixel.B, color.B);
                }
            }
        }
Example #2
0
        public MapLayerFixture()
        {
            int width  = 10;
            int height = 11;
            var header = new TMapLayerHeader()
            {
                Type   = DefinitionType.Biome,
                Colors = new TColorDefinition[]
                {
                    new TColorDefinition()
                    {
                        Type = "biome0", Color = new TColor()
                        {
                            R = 0, G = 0, B = 0
                        }
                    },
                    new TColorDefinition()
                    {
                        Type = "biome1", Color = new TColor()
                        {
                            R = 1, G = 2, B = 3
                        }
                    },
                    new TColorDefinition()
                    {
                        Type = "biome2", Color = new TColor()
                        {
                            R = 2, G = 2, B = 3
                        }
                    }
                }
            };
            var bitmap = new Bitmap(width, height);

            bitmap.SetPixel(1, 1, Color.FromArgb(1, 2, 3));
            bitmap.SetPixel(9, 9, Color.FromArgb(1, 2, 3));
            bitmap.SetPixel(0, 0, Color.FromArgb(2, 2, 3));
            bitmap.SetPixel(5, 6, Color.FromArgb(2, 2, 3));
            BiomeLayer = new TLayer()
            {
                Bitmap = bitmap, MapLayerHeader = header
            };
            header = new TMapLayerHeader()
            {
                Type   = DefinitionType.Resource,
                Colors = new TColorDefinition[]
                {
                    new TColorDefinition()
                    {
                        Type = "test0", Color = new TColor()
                        {
                            R = 0, G = 0, B = 0
                        }
                    },
                    new TColorDefinition()
                    {
                        Type = "test1", Color = new TColor()
                        {
                            R = 1, G = 2, B = 3
                        }
                    },
                    new TColorDefinition()
                    {
                        Type = "test2", Color = new TColor()
                        {
                            R = 2, G = 2, B = 3
                        }
                    }
                }
            };
            bitmap = new Bitmap(width, height);
            bitmap.SetPixel(3, 5, Color.FromArgb(1, 2, 3));
            bitmap.SetPixel(2, 1, Color.FromArgb(1, 2, 3));
            bitmap.SetPixel(1, 5, Color.FromArgb(2, 2, 3));
            bitmap.SetPixel(4, 7, Color.FromArgb(2, 2, 3));
            ResourceLayer = new TLayer()
            {
                Bitmap = bitmap, MapLayerHeader = header
            };
            header = new TMapLayerHeader()
            {
                Type   = DefinitionType.Biome,
                Colors = new TColorDefinition[]
                {
                    new TColorDefinition()
                    {
                        Type = "test0", Color = new TColor()
                        {
                            R = 0, G = 0, B = 0
                        }
                    },
                    new TColorDefinition()
                    {
                        Type = "test1", Color = new TColor()
                        {
                            R = 1, G = 2, B = 3
                        }
                    },
                    new TColorDefinition()
                    {
                        Type = "test2", Color = new TColor()
                        {
                            R = 2, G = 2, B = 3
                        }
                    }
                }
            };
            bitmap = new Bitmap(width + 1, height);
            bitmap.SetPixel(1, 1, Color.FromArgb(1, 2, 3));
            bitmap.SetPixel(9, 9, Color.FromArgb(1, 2, 3));
            bitmap.SetPixel(0, 0, Color.FromArgb(2, 2, 3));
            bitmap.SetPixel(5, 6, Color.FromArgb(2, 2, 3));
            InvalidSizeLayer = new TLayer()
            {
                Bitmap = bitmap, MapLayerHeader = header
            };
        }