예제 #1
0
        /// <summary>
        /// Declares this place to be a room.
        /// Doors of this place won't be locked with a key.
        /// </summary>
        public void ReserveDoors()
        {
            _room.ReserveDoors();

            _section.CleanLockedDoorCandidates();

            for (var dir = 0; dir < 4; ++dir)
            {
                if (_room.Links[dir] == LinkType.From || _room.Links[dir] == LinkType.To)
                {
                    this.AddDoor(dir, DungeonBlockType.Door);
                }
            }

            this.OpenAllDoors();
        }
예제 #2
0
        /// <summary>
        /// Declares this place to be a room.
        /// Doors of this place won't be locked with a key.
        /// </summary>
        public void ReserveDoors()
        {
            _room.ReserveDoors();

            _section.CleanLockedDoorCandidates();

            for (var dir = 0; dir < 4; ++dir)
            {
                if (_room.Links[dir] == LinkType.From || _room.Links[dir] == LinkType.To)
                {
                    // Boss door supposed to be locked, skip it and let Dungeon.InitFloorRegion() create it.
                    if ((DungeonBlockType)_room.DoorType[dir] != DungeonBlockType.BossDoor)
                    {
                        this.AddDoor(dir, DungeonBlockType.Door);
                    }
                }
            }

            this.OpenAllDoors();
        }