public void Initialize(Room room1, Room room2) { _room1 = room1; _room2 = room2; }
public Room OtherSideFrom(Room room) { if (room != _room1 || room != _room2) throw new ArgumentException(); if (room == _room1) return _room2; return _room2; }
public void AddRoom(Room room) { _rooms.Add(room); }
public Door(Room room1, Room room2) : base() { _room1 = room1; _room2 = room2; }
public DoorNeedingSpell(Room room1, Room room2) : base(room1, room2) { }
private Direction CommonWall(Room room1, Room room2) { throw new NotImplementedException(); }
public override Door MakeDoor(Room room1, Room room2) { return new DoorNeedingSpell(room1, room2); }
public virtual Door MakeDoor(Room room1, Room room2) { return new Door(room1, room2); }
public MazePrototypeFactory(Maze maze, Wall wall, Room room, Door door) { _prototypeMaze = maze; _prototypeWall = wall; _prototypeRoom = room; _prototypeDoor = door; }