ClientAPI.Event.ChunkDirty += ChunkAChanging;
- cartographer_thread = new Thread(Cartographer);
- cartographer_thread.Name = "Cartographer";
- cartographer_thread.Priority = ThreadPriority.Lowest;
- cartographer_thread.IsBackground = true;
+ cartographer_thread = new Thread(Cartographer)
+ {
+ Name = "Cartographer",
+ Priority = ThreadPriority.Lowest,
+ IsBackground = true
+ };
ClientAPI.Event.RegisterGameTickListener(AwakenCartographer, 6000);
}
tableWriter.Write(stylesFile.ToText());
tableWriter.RenderEndTag();//</style>
- //## JSON map-state data ######################
- tableWriter.AddAttribute(HtmlTextWriterAttribute.Type, "text/javascript");
- tableWriter.RenderBeginTag(HtmlTextWriterTag.Script);
-
- tableWriter.Write("var available_images = [");
-
- foreach (var shard in this.chunkTopMetadata)
- {
- tableWriter.Write("{{X:{0},Y:{1} }}, ", shard.Location.X, shard.Location.Y);
- }
-
- tableWriter.Write(" ];\n");
-
- tableWriter.RenderEndTag();
-
tableWriter.RenderEndTag();
tableWriter.RenderBeginTag(HtmlTextWriterTag.Body);
StreamWriter jsonWriter = new StreamWriter(jsonFilename, false, Encoding.UTF8);
using (jsonWriter)
{
- jsonWriter.WriteLine("var worldSeedNum = {0};", ClientAPI.World.Seed);
- jsonWriter.WriteLine("var genTime = new Date('{0}');", DateTimeOffset.UtcNow.ToString("O"));
- jsonWriter.WriteLine("var startCoords = {{X:{0},Y:{1}}};", startChunkColumn.X, startChunkColumn.Y);
- jsonWriter.WriteLine("var chunkSize = {0};", chunkSize);
- jsonWriter.WriteLine("var northMostChunk ={0};", chunkTopMetadata.North_mostChunk);
- jsonWriter.WriteLine("var southMostChunk ={0};", chunkTopMetadata.South_mostChunk);
- jsonWriter.WriteLine("var eastMostChunk ={0};", chunkTopMetadata.East_mostChunk);
- jsonWriter.WriteLine("var westMostChunk ={0};", chunkTopMetadata.West_mostChunk);
+ jsonWriter.Write("ViewFrame.chunks={};");
+ jsonWriter.Write("ViewFrame.chunks.worldSeedNum={0};", ClientAPI.World.Seed);
+ jsonWriter.Write("ViewFrame.chunks.genTime=new Date('{0}');", DateTimeOffset.UtcNow.ToString("O"));
+ jsonWriter.Write("ViewFrame.chunks.startCoords=[{0},{1}];", startChunkColumn.X, startChunkColumn.Y);
+ jsonWriter.Write("ViewFrame.chunks.chunkSize={0};", chunkSize);
+ jsonWriter.Write("ViewFrame.chunks.northMostChunk={0};", chunkTopMetadata.North_mostChunk);
+ jsonWriter.Write("ViewFrame.chunks.southMostChunk={0};", chunkTopMetadata.South_mostChunk);
+ jsonWriter.Write("ViewFrame.chunks.eastMostChunk={0};", chunkTopMetadata.East_mostChunk);
+ jsonWriter.Write("ViewFrame.chunks.westMostChunk={0};", chunkTopMetadata.West_mostChunk);
//MAP object format - [key, value]: key is "x_y"
- jsonWriter.Write("let shardsMetadata = new Map([");
+ jsonWriter.Write("ViewFrame.chunks.chunkMetadata=new Map([");
foreach (var shard in chunkTopMetadata)
{
jsonWriter.Write("['{0}_{1}',", shard.Location.X, shard.Location.Y);
jsonWriter.Write("{");
- jsonWriter.Write("ChunkAge: '{0}',", shard.ChunkAge);//World age - relative? or last edit ??
- jsonWriter.Write("Temperature: {0},", shard.Temperature.ToString("F1"));
- jsonWriter.Write("YMax: {0},", shard.YMax);
- jsonWriter.Write("Fertility: {0},", shard.Fertility.ToString("F1"));
- jsonWriter.Write("ForestDensity: {0},", shard.ForestDensity.ToString("F1"));
- jsonWriter.Write("Rainfall: {0},", shard.Rainfall.ToString("F1"));
- jsonWriter.Write("ShrubDensity: {0},", shard.ShrubDensity.ToString("F1"));
- jsonWriter.Write("AirBlocks: {0},", shard.AirBlocks);
- jsonWriter.Write("NonAirBlocks: {0},", shard.NonAirBlocks);
+ jsonWriter.Write("chunkAge:'{0}',", shard.ChunkAge.ToString("g"));//World age - relative? or last edit ??
+ jsonWriter.Write("temp:{0},", shard.Temperature.ToString("F1"));
+ jsonWriter.Write("YMax:{0},", shard.YMax);
+ jsonWriter.Write("fert:{0},", shard.Fertility.ToString("F1"));
+ jsonWriter.Write("forestDens:{0},", shard.ForestDensity.ToString("F1"));
+ jsonWriter.Write("rain:{0},", shard.Rainfall.ToString("F1"));
+ jsonWriter.Write("shrubDens:{0},", shard.ShrubDensity.ToString("F1"));
+ jsonWriter.Write("airBlocks:{0},", shard.AirBlocks);
+ jsonWriter.Write("nonAirBlocks:{0},", shard.NonAirBlocks);
//TODO: Heightmap
//TODO: Rock-ratio
jsonWriter.Write("}],");
}
- jsonWriter.Write("]);\n\n");
+ jsonWriter.Write("]);");
- jsonWriter.Write("let pointsOfInterest = new Map([");
+ jsonWriter.Write("ViewFrame.chunks.pointsOfInterest = new Map([");
foreach (var poi in POIs)
{
- jsonWriter.Write("['{0}_{1}',", poi.Location.X, poi.Location.Y);
+ jsonWriter.Write("['{0}_{1}',", poi.Location.X, poi.Location.Z);
jsonWriter.Write("{");
- jsonWriter.Write("notes: '{0}',", poi.Notes.Replace("'", " "));
- jsonWriter.Write("timestamp : new Date('{0}'),", poi.Timestamp.ToString("O"));
- jsonWriter.Write("chunkPos:'{0}_{1}',", (poi.Location.X / chunkSize), (poi.Location.Y / chunkSize));
+ jsonWriter.Write("notes:'{0}',", poi.Notes.Replace("'", "\'").Replace("\n","\\n"));
+ jsonWriter.Write("time:new Date('{0}'),", poi.Timestamp.ToString("O"));
+ jsonWriter.Write("chunkPos:'{0}_{1}',", (poi.Location.X / chunkSize), (poi.Location.Z / chunkSize));
jsonWriter.Write("}],");
}
foreach (var poi in EOIs.PointsList)
{
- jsonWriter.Write("['{0}_{1}',", poi.Location.X, poi.Location.Y);
+ jsonWriter.Write("['{0}_{1}',", poi.Location.X, poi.Location.Z);
jsonWriter.Write("{");
- jsonWriter.Write("notes: '{0}',", poi.Notes.Replace("'", " "));
- jsonWriter.Write("timestamp : new Date('{0}'),", poi.Timestamp.ToString("O"));
- jsonWriter.Write("chunkPos:'{0}_{1}',", (poi.Location.X / chunkSize), (poi.Location.Y / chunkSize));
+ jsonWriter.Write("notes:'{0}',", poi.Notes.Replace("'", "\'"));
+ jsonWriter.Write("time:new Date('{0}'),", poi.Timestamp.ToString("O"));
+ jsonWriter.Write("chunkPos:'{0}_{1}',", (poi.Location.X / chunkSize), (poi.Location.Z / chunkSize));
jsonWriter.Write("}],");
}
- jsonWriter.Write("]);\n\n");
+ jsonWriter.Write("]);");
jsonWriter.Flush();
}