private static void CreateMapCemetery(Workarea workarea) { Map map = new Map(workarea) { Name = "Кладбище", Sizes = new Vector3(50f,50f,50f), Gravity = new Vector3(0f, -5f, 0f), FogEnabled = true, ForStart = 1f, FogEnd = 50f, FogColor = Color.Black.ToVector3(), //FogColor = Color.CornflowerBlue.ToVector3(), //EnableDefaultLighting = true LightingEnabled = true, DirectionalLight0 = new MapLight { DiffuseColor = Color.Red.ToVector3(), Direction = Vector3.One, Enabled = true, SpecularColor = Color.Red.ToVector3() } }; map.Heightmap = new float[(int)(map.Sizes.X + 1) * (int)(map.Sizes.Y + 1)]; Random r = new Random(); for (int i = 0; i < (map.Sizes.X + 1) * (map.Sizes.Y + 1); i++) { map.Heightmap[i] = r.Next(3) / 10.0f; } //map.PickUpLandscape((int)map.Width / 2, (int)map.Height / 2, 5f); //map.Units.Add(new Unit("PLANE1", map) //{ // Name = "Самолет1", // Fraction = 2, // Position = new Vector3(7f, 2.0f, 9f), // Angles = new Vector3(0f, 0f, 0f), // //Scales = new Vector3(10f,10f,10f) //}); map.Units.Add(new Unit("HOUSE1", map) { Name = "Дом1", Fraction = 0, Position = new Vector3(7f, 0f, 5f), Angles = Vector3.Zero }); for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { map.Units.Add(new Unit("GRAVE1", map) { Name = "Могила" + (i * 5 + j).ToString("G"), Fraction = 0, Position = new Vector3(15f + i * 5, 0f, 15f + j * 5), Angles = new Vector3((float)r.NextDouble() / 5 - 0.1f, (float)r.NextDouble() / 5 - 0.1f - (float)Math.PI / 2f, (float)r.NextDouble() / 5 - 0.1f), Scales = new Vector3((float)r.NextDouble() + 0.5f, (float)r.NextDouble() + 0.5f, (float)r.NextDouble() + 0.5f) }); } } for (int i = 0; i < 10; i++) { map.Units.Add(new Unit("GHOST"+r.Next(1,3), map) { Name = "Призрак"+i, Fraction = 2, Position = new Vector3((float)r.NextDouble() * map.Sizes.X, (float)r.NextDouble() * 5f, (float)r.NextDouble() * map.Sizes.Y) }); } map.Save(Path.Combine(OutPath, "Maps\\Cemetery.xml")); }
private static void CreateMapCity(Workarea workarea) { Map map = new Map(workarea) { Name = "Город", Sizes = new Vector3(50f,50f,50f), Gravity = new Vector3(0f, -9.8f, 0f), FogEnabled = true, ForStart = 5f, FogEnd = 50f, FogColor = new Vector3(0.5f, 0.5f, 0.5f), EnableDefaultLighting = true }; map.Heightmap = new float[(int)(map.Sizes.X + 1) * (int)(map.Sizes.Y + 1)]; Random r = new Random(); for (int i = 0; i < (map.Sizes.X + 1) * (map.Sizes.Y + 1); i++) { map.Heightmap[i] = r.Next(3) / 10.0f; } map.PickUpLandscape(map.Sizes/2, 2f); map.Units.Add(new Unit("PLANE1", map) { Name = "Самолет1", Fraction = 2, Position = new Vector3(7f, 2.0f, 9f), Angles = new Vector3(0f, 0f, 0f), }); map.Units.Add(new Unit("HOUSE1", map) { Name = "Дом1", Fraction = 0, Position = new Vector3(7f, 0f, 5f), Angles = Vector3.Zero }); map.Save(Path.Combine(OutPath, "Maps\\City.xml")); }