public DynamicJsonObject ToJson() { dynamic json = new DynamicJsonObject(); json.realTime = RealTime.ToString(); json.gameTime = GameTime.ToString(); return json; }
public static DynamicJsonObject ToJson(this IIndexedTime indexedTime) { dynamic coolObject = new DynamicJsonObject(); coolObject.id = indexedTime.Index; coolObject.realTime = indexedTime.Time.RealTime; coolObject.gameTime = indexedTime.Time.GameTime; return coolObject; }
public void Save(IRun run, Stream stream) { dynamic document = new DynamicJsonObject(); document.version = "1.4"; document.gameIcon = CreateImageElement(run.GameIcon); document.gameName = run.GameName; document.categoryName = run.CategoryName; document.offset = run.Offset.ToString(); document.attemptCount = run.AttemptCount.ToString(); var runHistory = new List<DynamicJsonObject>(); document.runHistory = runHistory; foreach (var historyItem in run.AttemptHistory) { runHistory.Add(historyItem.ToJson()); } var segments = new List<DynamicJsonObject>(); document.segments = segments; foreach(var segment in run) { dynamic segmentElement = new DynamicJsonObject(); segmentElement.name = segment.Name; segmentElement.icon = CreateImageElement(segment.Icon); dynamic splitTimes = new DynamicJsonObject(); foreach (var comparison in run.CustomComparisons) splitTimes.Properties.Add(comparison, segment.Comparisons[comparison].ToJson()); segmentElement.splitTimes = splitTimes; segments.Add(segmentElement); } /* var segmentElement = document.CreateElement("Segments"); parent.AppendChild(segmentElement); var bf = new BinaryFormatter(); foreach (var segment in run) { var splitElement = document.CreateElement("Segment"); segmentElement.AppendChild(splitElement); var icon = CreateImageElement(document, "Icon", segment.Icon); splitElement.AppendChild(icon); var name = document.CreateElement("Name"); name.InnerText = segment.Name; splitElement.AppendChild(name); var splitTimes = document.CreateElement("SplitTimes"); foreach (var comparison in run.CustomComparisons) { var splitTime = document.CreateElement("SplitTime"); var comparisonName = document.CreateAttribute("name"); comparisonName.Value = comparison; splitTime.Attributes.Append(comparisonName); splitTime.InnerText = segment.Comparisons[comparison].ToString(); splitTimes.AppendChild(splitTime); } splitElement.AppendChild(splitTimes); var goldSplit = document.CreateElement("BestSegmentTime"); goldSplit.InnerText = segment.BestSegmentTime.ToString(); splitElement.AppendChild(goldSplit); var history = document.CreateElement("SegmentHistory"); foreach (var historySegment in segment.SegmentHistory) { history.AppendChild(historySegment.ToXml(document)); } splitElement.AppendChild(history); }*/ var writer = new StreamWriter(stream); writer.Write(document.ToString()); writer.Flush(); }
public DynamicJsonObject ToJson() { dynamic json = new DynamicJsonObject(); json.id = Index; json.realTime = Time.RealTime; json.gameTime = Time.GameTime; json.started = Started; json.ended = Ended; return json; }