Beispiel #1
0
        public void TransversalLineTest()
        {
            using (var texTool = new TextureTool())
            using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
            {
                var theoreticalRegion = new Rectangle(1, 8, 13, 15);

                var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(3, 18));
                Assert.AreEqual(theoreticalRegion, foundRegion);

                foundRegion = texTool.FindSpriteRegion(texImage, new Int2(13, 8));
                Assert.AreEqual(theoreticalRegion, foundRegion);
            }
        }
Beispiel #2
0
        public void TransversalLineTest()
        {
            using (var texTool = new TextureTool())
                using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
                {
                    var theoreticalRegion = new Rectangle(1, 8, 13, 15);

                    var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(3, 18));
                    Assert.Equal(theoreticalRegion, foundRegion);

                    foundRegion = texTool.FindSpriteRegion(texImage, new Int2(13, 8));
                    Assert.Equal(theoreticalRegion, foundRegion);
                }
        }
Beispiel #3
0
        private void CheckEmptyRegion(TextureTool tool, TexImage image, Int2 position)
        {
            var theoreticalRegion = new Rectangle(position.X, position.Y, 0, 0);
            var foundRegion       = tool.FindSpriteRegion(image, position);

            Assert.Equal(theoreticalRegion, foundRegion);
        }
Beispiel #4
0
 public void SinglePixelTest()
 {
     using (var texTool = new TextureTool())
         using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
         {
             var theoreticalRegion = new Rectangle(4, 5, 1, 1);
             var foundRegion       = texTool.FindSpriteRegion(texImage, new Int2(4, 5));
             Assert.Equal(theoreticalRegion, foundRegion);
         }
 }
Beispiel #5
0
 public void TransparencyKeyTest()
 {
     using (var texTool = new TextureTool())
         using (var texImage = texTool.Load(Module.PathToInputImages + "BgraSheet.dds"))
         {
             var theoreticalRegion = new Rectangle(25, 25, 0, 0);
             var foundRegion       = texTool.FindSpriteRegion(texImage, new Int2(25, 25), transparencyColorKey, 0xffffffff);
             Assert.Equal(theoreticalRegion, foundRegion);
         }
 }
Beispiel #6
0
 public void SinglePixelTest()
 {
     using (var texTool = new TextureTool())
     using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
     {
         var theoreticalRegion = new Rectangle(4, 5, 1, 1);
         var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(4,5));
         Assert.AreEqual(theoreticalRegion, foundRegion);
     }
 }
Beispiel #7
0
        public void ConcavShapeTest()
        {
            using (var texTool = new TextureTool())
            using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
            {
                var theoreticalRegion = new Rectangle(65, 60, 55, 61);

                var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(89, 67));
                Assert.AreEqual(theoreticalRegion, foundRegion);
            }
        }
Beispiel #8
0
        public void ShapeWithHoleTest()
        {
            using (var texTool = new TextureTool())
                using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
                {
                    var theoreticalRegion = new Rectangle(49, 1, 76, 53);

                    var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(52, 29));
                    Assert.Equal(theoreticalRegion, foundRegion);

                    foundRegion = texTool.FindSpriteRegion(texImage, new Int2(58, 30));
                    Assert.Equal(theoreticalRegion, foundRegion);

                    foundRegion = texTool.FindSpriteRegion(texImage, new Int2(75, 32));
                    Assert.Equal(theoreticalRegion, foundRegion);

                    foundRegion = texTool.FindSpriteRegion(texImage, new Int2(84, 28));
                    Assert.Equal(theoreticalRegion, foundRegion);
                }
        }
Beispiel #9
0
        public void IncludedShapeTest()
        {
            using (var texTool = new TextureTool())
                using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
                {
                    var theoreticalRegion = new Rectangle(70, 83, 32, 14);

                    var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(85, 85));
                    Assert.Equal(theoreticalRegion, foundRegion);
                }
        }
Beispiel #10
0
        public void ConcavShapeTest()
        {
            using (var texTool = new TextureTool())
                using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
                {
                    var theoreticalRegion = new Rectangle(65, 60, 55, 61);

                    var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(89, 67));
                    Assert.Equal(theoreticalRegion, foundRegion);
                }
        }
        public void ConvexShapeTest()
        {
            using (var texTool = new TextureTool())
                using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
                {
                    var theoreticalRegion = new Rectangle(10, 4, 36, 38);

                    var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(29, 23));
                    Assert.AreEqual(theoreticalRegion, foundRegion);
                }
        }
Beispiel #12
0
        public void BgraRgbaTest()
        {
            var images = new[] { "BgraSheet.dds", "RgbaSheet.dds" };

            foreach (var image in images)
            {
                using (var texTool = new TextureTool())
                    using (var texImage = texTool.Load(Module.PathToInputImages + image))
                    {
                        var theoreticalRegion = new Rectangle(4, 4, 1, 1);
                        var foundRegion       = texTool.FindSpriteRegion(texImage, new Int2(4, 4), transparencyColorKey, 0xffffffff);
                        Assert.Equal(theoreticalRegion, foundRegion);

                        theoreticalRegion = new Rectangle(6, 7, 30, 20);
                        foundRegion       = texTool.FindSpriteRegion(texImage, new Int2(23, 13), transparencyColorKey, 0xffffffff);
                        Assert.Equal(theoreticalRegion, foundRegion);

                        theoreticalRegion = new Rectangle(16, 28, 45, 31);
                        foundRegion       = texTool.FindSpriteRegion(texImage, new Int2(42, 45), transparencyColorKey, 0xffffffff);
                        Assert.Equal(theoreticalRegion, foundRegion);
                    }
            }
        }
Beispiel #13
0
        public Rectangle?FindSpriteRegion(UFile source, Vector2 initialPoint, bool useTransparency, Color maskColor)
        {
            var image = cache.FirstOrDefault(x => x.Item1 == source)?.Item3;

            if (image == null)
            {
                return(null);
            }

            var pixelPoint = new Int2((int)initialPoint.X, (int)initialPoint.Y);

            using (var texTool = new TextureTool())
            {
                return(useTransparency ? texTool.FindSpriteRegion(image, pixelPoint) : texTool.FindSpriteRegion(image, pixelPoint, maskColor, 0x00ffffff));
            }
        }
Beispiel #14
0
        public void ShapeWithHoleTest()
        {
            using (var texTool = new TextureTool())
            using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
            {
                var theoreticalRegion = new Rectangle(49, 1, 76, 53);

                var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(52, 29));
                Assert.AreEqual(theoreticalRegion, foundRegion);

                foundRegion = texTool.FindSpriteRegion(texImage, new Int2(58, 30));
                Assert.AreEqual(theoreticalRegion, foundRegion);

                foundRegion = texTool.FindSpriteRegion(texImage, new Int2(75, 32));
                Assert.AreEqual(theoreticalRegion, foundRegion);

                foundRegion = texTool.FindSpriteRegion(texImage, new Int2(84, 28));
                Assert.AreEqual(theoreticalRegion, foundRegion);
            }
        }
Beispiel #15
0
        public void IncludedShapeTest()
        {
            using (var texTool = new TextureTool())
            using (var texImage = texTool.Load(Module.PathToInputImages + "TransparentSheet.dds"))
            {
                var theoreticalRegion = new Rectangle(70, 83, 32, 14);

                var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(85, 85));
                Assert.AreEqual(theoreticalRegion, foundRegion);
            }
        }
Beispiel #16
0
        public void BgraRgbaTest()
        {
            var images = new[] { "BgraSheet.dds", "RgbaSheet.dds" };
            foreach (var image in images)
            {
                using (var texTool = new TextureTool())
                using (var texImage = texTool.Load(Module.PathToInputImages + image))
                {
                    var theoreticalRegion = new Rectangle(4, 4, 1, 1);
                    var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(4, 4), transparencyColorKey, 0xffffffff);
                    Assert.AreEqual(theoreticalRegion, foundRegion);

                    theoreticalRegion = new Rectangle(6, 7, 30, 20);
                    foundRegion = texTool.FindSpriteRegion(texImage, new Int2(23, 13), transparencyColorKey, 0xffffffff);
                    Assert.AreEqual(theoreticalRegion, foundRegion);

                    theoreticalRegion = new Rectangle(16, 28, 45, 31);
                    foundRegion = texTool.FindSpriteRegion(texImage, new Int2(42, 45), transparencyColorKey, 0xffffffff);
                    Assert.AreEqual(theoreticalRegion, foundRegion);
                }
            }
        }
Beispiel #17
0
 private void CheckEmptyRegion(TextureTool tool, TexImage image, Int2 position)
 {
     var theoreticalRegion = new Rectangle(position.X, position.Y, 0, 0);
     var foundRegion = tool.FindSpriteRegion(image, position);
     Assert.AreEqual(theoreticalRegion, foundRegion);
 }
Beispiel #18
0
 public void TransparencyKeyTest()
 {
     using (var texTool = new TextureTool())
     using (var texImage = texTool.Load(Module.PathToInputImages + "BgraSheet.dds"))
     {
         var theoreticalRegion = new Rectangle(25, 25, 0, 0);
         var foundRegion = texTool.FindSpriteRegion(texImage, new Int2(25, 25), transparencyColorKey, 0xffffffff);
         Assert.AreEqual(theoreticalRegion, foundRegion);
     }
 }