Beispiel #1
0
        /// <summary>
        /// 隣同士の部屋をつなぐためのポータル(出入口)のペアを生成
        /// </summary>
        void GenerateRoomPortals(
            DungeonRoom startRoom, DungeonRoom endRoom, 
            bool isHorizontal, 
            out DungeonPortal startPortal, out DungeonPortal endPortal)
        {
            startPortal = new DungeonPortal(
                startRoom.GetRandomPortalPoint(isHorizontal ? DungeonRoom.Side.Right : DungeonRoom.Side.Bottom));
            startPortal.ConnectedRoom = startRoom;
            startRoom.Portals.Add(startPortal);

            endPortal = new DungeonPortal(
                endRoom.GetRandomPortalPoint(isHorizontal ? DungeonRoom.Side.Left : DungeonRoom.Side.Top));
            endPortal.ConnectedRoom = endRoom;
            endRoom.Portals.Add(endPortal);
        }