Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
Archivo: Room.cs Proyecto: kaerber/kmud
 public Room()
 {
     _exits     = new ExitSet();
     Characters = new CharacterSet();
     Items      = new ItemSet();
 }