public void EnumValueFromIndexTest()
        {
            BloodType first         = 0;
            int       amountOfTypes = EnumUtils.EnumLength <BloodType>();
            BloodType last          = (BloodType)(amountOfTypes - 1);

            Assert.AreNotEqual(first, last);
            last -= amountOfTypes;
            last++;
            Assert.AreEqual(first, last);
        }
Esempio n. 2
0
        public static BasicMap CropToContent(this BasicMap m)
        {
            int minX = m.Width;
            int maxX = 0;
            int minY = m.Height;
            int maxY = 0;

            for (int x = 0; x < m.Width; x++)
            {
                for (int y = 0; y < m.Height; y++)
                {
                    if (m.GetTerrain <BasicTerrain>(new Coord(x, y)) != null)
                    {
                        if (minX > x)
                        {
                            minX = x;
                        }
                        if (minY > y)
                        {
                            minY = y;
                        }
                        if (maxX < x)
                        {
                            maxX = x;
                        }
                        if (maxY < y)
                        {
                            maxY = y;
                        }
                    }
                }
            }

            int   dx     = Math.Abs(maxX - minX + 1);
            int   dy     = Math.Abs(maxY - minY + 1);
            Coord offset = new Coord(-minX, -minY);

            BasicMap map = new BasicMap(dx, dy, EnumUtils.EnumLength <MapLayer>(), Distance.EUCLIDEAN);

            map.ForXForY((point) =>
            {
                if (m.Contains(point - offset))
                {
                    BasicTerrain terrain = m.GetTerrain <BasicTerrain>(point - offset);
                    if (terrain != null)
                    {
                        map.SetTerrain(_factory.Copy(terrain, point));
                    }
                }
            });

            return(map);
        }
        public void EnumLengthTest()
        {
            int answer = EnumUtils.EnumLength <BloodType>();

            Assert.AreEqual(4, answer);
        }