public void FillWithJsonObject(JContainer dict, Scheme scheme) { Rooms = dict["rooms"].Select(r => { Room room = new Room(); room.FillWithJsonObject((JContainer)r, scheme); return room; }).ToArray(); Items = dict["items"].Select(i => { Item item; string locType = (string)i["location_type"]; if (locType.Equals("room")) item = new RoomItem(); else item = new CoordinateItem(); item.FillWithJsonObject((JContainer)i, scheme); return item; }).ToArray(); }
private static UIElement BuildRoomVisual(Room room) { var path = new Path { Fill = new SolidColorBrush(room.Color) { Opacity = 0.5 }, Data = BuildRoomGeometry(room), ToolTip = room.Title }; return path; }
public static Geometry BuildRoomGeometry(Room room) { if (room.Points == null) return null; var points = room.Points.Where(p => p.X >= 0 && p.Y >= 0).ToList(); var sb = new StringBuilder(); sb.AppendFormat(CultureInfo.InvariantCulture, "M {0},{1}", points[0].X, points[0].Y); foreach (var p in points.Skip(1)) { sb.AppendFormat(CultureInfo.InvariantCulture, " L {0},{1}", p.X, p.Y); } return Geometry.Parse(sb.ToString()); }
public void StopEditing() { startPoint = null; room = null; SelectionData = null; SelectedWallsData = null; RoomData = null; }
public new bool MouseDown(Point position) { startPoint = position; if (room == null) { room = new Room(); previouslySelectedWalls.Clear(); } return true; }