public MapComponent(D3DEngine engine, InputsManager inputManager, MainScreen screen, ServerComponent server, WorldPlan plan, IPlayerManager playerManager) { this.IsDefferedLoadContent = true; _playerManager = playerManager; _engine = engine; _inputManager = inputManager; _screen = screen; _server = server; _mapWindow = new WindowControl(); _mapWindow.Name = "Map"; _mapWindow.Title = "World map"; _mapWindow.Bounds = new UniRectangle(100, 100, 711, 400); _planGenerator = plan; _playerManager = playerManager; //_planGenerator.Parameters = _server.GameInformations.PlanGenerationParameters; }
private void button1_Click(object sender, EventArgs e) { _map = new WorldPlan(new GenerationParameters { MapSize = new Vector2I((int)numericUpDown1.Value, (int)numericUpDown2.Value), CenterElevation = centerElevationCheck.Checked, ElevationSeed = (int)voronoiSeedNumeric.Value, GridSeed = (int)voronoiSeedNumeric.Value, PolygonsCount = (int)voronoiPolyNumeric.Value, RelaxCount = 3 }); //_map.RenderMapTemplate = Resources.mapbg; //_map.RenderContinentTemplate = Resources.brush; //_map.RenderWavePatterns = new [] { Resources.wavePattern, Resources.wavePattern1, Resources.wavePattern2}; //_map.RenderForest = Resources.forest; //_map.RenderTropicalForest = Resources.tropicForest; var sw = Stopwatch.StartNew(); _map.Generate(); sw.Stop(); genTimeLabel.Text = sw.Elapsed.TotalMilliseconds.ToString() + " ms"; pictureBox1.Image = _map.Render(); }
private static void GenerateSampleWorldPlan() { TerrainDefinition ground = ScriptableObject.CreateInstance <TerrainDefinition>(); ground.name = "Terrain_StoneFloor"; TerrainDefinition wall = ScriptableObject.CreateInstance <TerrainDefinition>(); wall.name = "Terrain_StoneWall"; Tile mockTile = ScriptableObject.CreateInstance <Tile>(); mockTile.name = "StoneStairs_Up"; Builder builder = new Builder { ID = "SAMPLE_ID" }; WorldPlan plan = new WorldPlan() { Builders = new Dictionary <string, Builder>() }; plan.Builders.Add(builder.ID, builder); string path = Application.dataPath + $"/Sample/sample_plan.json"; if (File.Exists(path)) { File.Delete(path); } JsonSerializerSettings settings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto, SerializationBinder = Binders._entity, Formatting = Formatting.Indented, Converters = new List <JsonConverter>() { new WorldPlanConverter() }, ReferenceLoopHandling = ReferenceLoopHandling.Ignore }; File.AppendAllText(path, JsonConvert.SerializeObject(plan, settings)); AssetDatabase.Refresh(); Debug.Log($"Wrote sample world plan to {path}."); }
private void button2_Click(object sender, EventArgs e) { openFileDialog1.Filter = "*.umap|*.umap"; openFileDialog1.Title = "Select map to load"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { using (var fs = File.OpenRead(openFileDialog1.FileName)) { using (GZipStream zip = new GZipStream(fs, CompressionMode.Decompress)) { XmlSerializer serializer = new XmlSerializer(typeof(WorldPlan)); _map = (WorldPlan)serializer.Deserialize(zip); } } pictureBox1.Image = _map.Render(); } }