public void AddRoom(Room room) { }
 public override Door MakeDoor(Room r1, Room r2)
 {
     return new DoorNeedingSpell(r1, r2);
 }
        public DoorNeedingSpell(Room r1, Room r2): base(r1, r2)
        {

        }
 public virtual Door MakeDoor(Room r1, Room r2)
 {
     return new Door(r1, r2);
 }
 public Door(Room r1, Room r2) { }