コード例 #1
0
ファイル: DefinitionsTests.cs プロジェクト: Lopt/ascendancy
        public void TerrainDefinitions()
        {
            int[] res = { 0, 0, 0, 0, 0 };
            var def = new Core.Models.Definitions.TerrainDefinition(Core.Models.Definitions.EntityType.Grassland, res, true, true, 4, 5, 6);
            Assert.IsNotNull(def);

            Assert.IsInstanceOf<Core.Models.Definitions.TerrainDefinition>(def);

            Assert.AreEqual(Core.Models.Definitions.Category.Terrain, def.Category);
            Assert.AreEqual(Core.Models.Definitions.EntityType.Grassland, def.SubType);
            Assert.AreEqual(3, def.ID);

            Assert.AreEqual(5, def.Resources.Length);
            Assert.AreEqual(true, def.Buildable);
            Assert.AreEqual(true, def.Walkable);
            Assert.AreEqual(4, def.TravelCost);
            Assert.AreEqual(5, def.DefenseModifier);
            Assert.AreEqual(6, def.AttackModifier);

            // Test if a Wrong entity could be a TerrainDefinition
            def = new Core.Models.Definitions.TerrainDefinition(Core.Models.Definitions.EntityType.Archer, res, true, true, 4, 5, 6);
            Assert.IsNotNull(def);

            Assert.IsInstanceOf<Core.Models.Definitions.TerrainDefinition>(def);

            Assert.AreNotEqual(Core.Models.Definitions.Category.Terrain, def.Category);
            // Assert.AreEqual(Core.Models.Definitions.EntityType.Grassland, Def.SubType);
            // Assert.AreEqual(78, Def.ID);
        }
コード例 #2
0
ファイル: LoadHelper.cs プロジェクト: Lopt/ascendancy
        /// <summary>
        /// Converts JSON to an TerrainDefinition[ , ]
        /// </summary>
        /// <returns>A two-dimensional array of TerrainDefinitions</returns>
        /// <param name="json">JSON loaded from the server</param>
        public static Core.Models.Definitions.TerrainDefinition[,] JsonToTerrain(string json)
        {
            var definitionManager = Core.Models.World.Instance.DefinitionManager;

            int[,] terrainsTypes = JsonConvert.DeserializeObject<int[,]>(json);
            var terrains = new Core.Models.Definitions.TerrainDefinition[Constants.REGION_SIZE_X, Constants.REGION_SIZE_Y];

            for (int cellX = 0; cellX < Constants.REGION_SIZE_X; ++cellX)
            {
                for (int cellY = 0; cellY < Constants.REGION_SIZE_Y; ++cellY)
                {
                    var terrainId = terrainsTypes[cellX, cellY];
                    terrains[cellX, cellY] = (Core.Models.Definitions.TerrainDefinition)definitionManager.GetDefinition((Core.Models.Definitions.EntityType)terrainId);
                }
            }
            return terrains;
        }
コード例 #3
0
ファイル: MapRegion.cs プロジェクト: Lopt/ascendancy
        public void MapRegion()
        {
            // Test with a RegionPosition as Input
            var regionPosition = new RegionPosition(new Position(new LatLon(50.97695325, 11.02396488)));
            var region = new Core.Models.Region(regionPosition);

            Assert.IsNotNull(region);
            Assert.IsInstanceOf<Core.Models.Region>(region);

            // Test with a Region as Input
            var region2 = new Region(region);

            Assert.IsNotNull(region2);
            Assert.IsInstanceOf<Core.Models.Region>(region2);
            Assert.AreEqual(region.RegionPosition, region2.RegionPosition);

            // Test with a RegionPosition and an TerrainDefinition as Input
            int[] res = { 0, 0, 0, 0, 0 };
            var terDef = new Core.Models.Definitions.TerrainDefinition(Core.Models.Definitions.EntityType.Grassland, res, true, true, 4, 5, 6);
            // var region3 = new Region(regionPosition, TerDef);
        }