//$ Copyright 2015-22, Code Respawn Technologies Pvt Ltd - All Rights Reserved $// using UnityEngine; namespace DungeonArchitect.Builders.BSP { [System.Serializable] public struct BSPRoomCategory { public string category; public int width; public int length; public int minOccurance; public int maxOccurance; public Color debugColor; } public class BSPDungeonConfig : DungeonConfig { public Vector2 gridSize = new Vector2(4, 4); /// /// The width of the dungeon in tile coords /// public int dungeonWidth = 32; /// /// The length of the dungeon in tile coords /// public int dungeonLength = 24; public int minRoomSize = 3; public int maxRoomSize = 8; /// /// Larger split probability will create small rooms close to the minRoomSize /// Smaller values will create larger rooms closers to the max room size since they are not split further /// public float smallerRoomProbability = 0.5f; public float unevenSplitProbability = 0.0f; public int roomPadding = 1; public float loopingProbability = 0; public int randomKillDepthStart = 3; public float randomKillProbability = 0.2f; public float minAspectRatio = 0.7f; public BSPRoomCategory[] customRooms; public bool Mode2D = false; public override bool IsMode2D() { return Mode2D; } } }