OSDN Git Service

fully implement the most advanced version of the map so far
[automap/automap.git] / Automap / Data / PointOfInterest.cs
index b19335d..4876957 100644 (file)
@@ -1,6 +1,7 @@
 using System;
 using System.Collections.ObjectModel;
-
+using System.IO;
+using Vintagestory.API.Client;
 using Vintagestory.API.Common;
 using Vintagestory.API.MathTools;
 
@@ -11,9 +12,24 @@ namespace Automap
        /// </summary>
        public struct PointOfInterest
        {
+               [DisplayName(1, "Notes")]
                public string Notes;
+               [DisplayName(0, "Loc.")]
                public BlockPos Location;
+               [DisplayName(2, "Time")]
                public DateTimeOffset Timestamp;
+               public void Write(StreamWriter stream, ICoreClientAPI ClientApi)
+               {
+                       // this is gross i hate this
+                       stream.Write("['{0}_{1}',[",
+                               Location.X,
+                               Location.Y
+                               );
+                       stream.Write("'{0}',", Location.PrettyCoords(ClientApi));
+                       stream.Write("'{0}',", System.Web.HttpUtility.HtmlEncode(Notes).Replace("\n", "&#13;&#10;").Replace("\\","\\\\"));
+                       stream.Write("'{0}',", Timestamp);
+                       stream.Write("]]");
+               }
        }
 
        public class PointsOfInterest : KeyedCollection<BlockPos, PointOfInterest>