Ejemplo n.º 1
0
 /// <summary>
 /// Gets all available room templates for corridor rooms.
 /// </summary>
 private List <RoomTemplateGrid2D> GetCorridorRoomTemplates()
 {
     return(new List <RoomTemplateGrid2D>()
     {
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetRectangle(4, 3),
             new ManualDoorModeGrid2D(new List <DoorGrid2D>()
         {
             new DoorGrid2D(new Vector2Int(0, 1), new Vector2Int(0, 2)),
             new DoorGrid2D(new Vector2Int(4, 1), new Vector2Int(4, 2)),
         }
                                      ),
             allowedTransformations: TransformationGrid2DHelper.GetRotations()
             ),
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetRectangle(6, 3),
             new ManualDoorModeGrid2D(new List <DoorGrid2D>()
         {
             new DoorGrid2D(new Vector2Int(0, 1), new Vector2Int(0, 2)),
             new DoorGrid2D(new Vector2Int(6, 1), new Vector2Int(6, 2)),
         }
                                      ),
             allowedTransformations: TransformationGrid2DHelper.GetRotations()
             ),
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetRectangle(8, 3),
             new ManualDoorModeGrid2D(new List <DoorGrid2D>()
         {
             new DoorGrid2D(new Vector2Int(0, 1), new Vector2Int(0, 2)),
             new DoorGrid2D(new Vector2Int(8, 1), new Vector2Int(8, 2)),
         }
                                      ),
             allowedTransformations: TransformationGrid2DHelper.GetRotations()
             ),
     });
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Gets all available room templates for non-corridor rooms.
 /// </summary>
 /// <returns></returns>
 private Dictionary <string, RoomTemplateGrid2D> GetRoomTemplates()
 {
     return(new List <RoomTemplateGrid2D>()
     {
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetRectangle(15, 19),
             new SimpleDoorModeGrid2D(1, 2),
             allowedTransformations: TransformationGrid2DHelper.GetRotations(),
             name: "Normal 1"
             ),
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetRectangle(13, 15),
             new SimpleDoorModeGrid2D(1, 2),
             allowedTransformations: TransformationGrid2DHelper.GetRotations(),
             name: "Normal 2"
             ),
         new RoomTemplateGrid2D(
             new PolygonGrid2DBuilder()
             .AddPoint(-11, 6).AddPoint(-5, 6).AddPoint(-5, 5).AddPoint(-3, 5)
             .AddPoint(-3, 6).AddPoint(2, 6).AddPoint(2, 5).AddPoint(4, 5)
             .AddPoint(4, 6).AddPoint(10, 6).AddPoint(10, -1).AddPoint(4, -1)
             .AddPoint(4, 0).AddPoint(2, 0).AddPoint(2, -1).AddPoint(-3, -1)
             .AddPoint(-3, 0).AddPoint(-5, 0).AddPoint(-5, -1).AddPoint(-11, -1)
             .Build(),
             new SimpleDoorModeGrid2D(1, 2),
             // repeatMode: RoomTemplateRepeatMode.NoRepeat,
             allowedTransformations: TransformationGrid2DHelper.GetRotations(),
             name: "Normal 3"
             ),
         #region hidden:Other room templates
         new RoomTemplateGrid2D(
             new PolygonGrid2DBuilder()
             .AddPoint(-39, 1).AddPoint(-37, 1).AddPoint(-37, 10).AddPoint(-39, 10)
             .AddPoint(-39, 15).AddPoint(-26, 15).AddPoint(-26, 10).AddPoint(-28, 10)
             .AddPoint(-28, 1).AddPoint(-26, 1).AddPoint(-26, -4).AddPoint(-39, -4)
             .Build(),
             new SimpleDoorModeGrid2D(1, 2),
             allowedTransformations: TransformationGrid2DHelper.GetRotations(),
             name: "Normal 4"
             ),
         new RoomTemplateGrid2D(
             new PolygonGrid2DBuilder()
             .AddPoint(-14, 3).AddPoint(0, 3).AddPoint(0, 5).AddPoint(-14, 5)
             .AddPoint(-14, 12).AddPoint(8, 12).AddPoint(8, -4).AddPoint(-6, -4)
             .AddPoint(-6, -6).AddPoint(8, -6).AddPoint(8, -13).AddPoint(-14, -13)
             .Build(),
             new SimpleDoorModeGrid2D(1, 2),
             // repeatMode: RoomTemplateRepeatMode.NoRepeat,
             name: "Normal 5"
             ),
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetSquare(13),
             new SimpleDoorModeGrid2D(1, 2),
             name: "Normal 6"
             ),
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetSquare(11),
             new SimpleDoorModeGrid2D(1, 2),
             name: "Spawn"
             ),
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetRectangle(26, 26),
             new SimpleDoorModeGrid2D(1, 4),
             allowedTransformations: TransformationGrid2DHelper.GetRotations(),
             name: "Boss"
             ),
         new RoomTemplateGrid2D(PolygonGrid2D.GetRectangle(20, 26),
                                new SimpleDoorModeGrid2D(1, 4),
                                allowedTransformations: TransformationGrid2DHelper.GetRotations(),
                                name: "Hub 1"
                                ),
         new RoomTemplateGrid2D(
             new PolygonGrid2DBuilder()
             .AddPoint(-8, 7).AddPoint(-7, 7).AddPoint(-7, 8).AddPoint(3, 8)
             .AddPoint(3, 7).AddPoint(4, 7).AddPoint(4, -3).AddPoint(3, -3)
             .AddPoint(3, -4).AddPoint(-7, -4).AddPoint(-7, -3).AddPoint(-8, -3)
             .Build(),
             new SimpleDoorModeGrid2D(1, 2),
             name: "Reward"
             ),
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetRectangle(12, 17),
             new SimpleDoorModeGrid2D(1, 3),
             allowedTransformations: TransformationGrid2DHelper.GetRotations(),
             name: "Normal 7"
             ),
         new RoomTemplateGrid2D(
             new PolygonGrid2DBuilder()
             .AddPoint(-3, 4).AddPoint(4, 4).AddPoint(4, -1).AddPoint(-3, -1)
             .Build(),
             new ManualDoorModeGrid2D(new List <DoorGrid2D>()
         {
             new DoorGrid2D(new Vector2Int(4, 2), new Vector2Int(4, 1)),
             new DoorGrid2D(new Vector2Int(-3, 2), new Vector2Int(-3, 1)),
             new DoorGrid2D(new Vector2Int(0, 4), new Vector2Int(1, 4)),
             new DoorGrid2D(new Vector2Int(0, -1), new Vector2Int(1, -1)),
         }
                                      ),
             name: "Exit"
             ),
         new RoomTemplateGrid2D(
             new PolygonGrid2DBuilder()
             .AddPoint(-8, 7).AddPoint(-7, 7).AddPoint(-7, 8).AddPoint(3, 8)
             .AddPoint(3, 7).AddPoint(4, 7).AddPoint(4, -3).AddPoint(3, -3)
             .AddPoint(3, -4).AddPoint(-7, -4).AddPoint(-7, -3).AddPoint(-8, -3)
             .Build(),
             new SimpleDoorModeGrid2D(1, 2),
             name: "Shop"
             ),
         new RoomTemplateGrid2D(
             PolygonGrid2D.GetSquare(9),
             new SimpleDoorModeGrid2D(1, 2),
             name: "Secret"
             )
         #endregion
     }.ToDictionary(x => x.Name, x => x));
 }