public static IDictionary <string, object> Serialize(Room room) { var data = EntitySerializer.Serialize(room); data.Add("Description", room.Description); data.Add("Exits", ExitSet.Serialize(room._exits)); if (room.Resets != null) { data.Add("Resets", RoomReset.Serialize(room.Resets)); } return(data); }
public static Room Deserialize(dynamic data) { var room = new Room { Description = data.Description }; if (data.Exits != null) { room._exits = ExitSet.Deserialize(data.Exits); } if (data.Resets != null) { room.Resets = RoomReset.Deserialize(data.Resets); } EntitySerializer.Deserialize(data, room); return(room); }
public void IndexerTest() { var testRoom = new Room(); var set = new ExitSet { new Exit { Name = "exit1", To = new Room() }, new Exit { Name = "exit2", To = new Room() }, new Exit { Name = "test", To = testRoom } }; Assert.AreEqual(set["ex"].Name, "exit1"); Assert.AreEqual(set["exit2"].Name, "exit2"); Assert.IsNull(set["exit3"]); Assert.AreEqual(set["test"].To, testRoom); Assert.AreEqual(set[testRoom].Name, "test"); }
public Room() { _exits = new ExitSet(); Characters = new CharacterSet(); Items = new ItemSet(); }