Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / map / DungeonConfig.cs
  1.  
  2. using System.Collections.Generic;
  3.  
  4. /// <summary>
  5. /// 生成地牢的配置
  6. /// </summary>
  7. public class DungeonConfig
  8. {
  9. /// <summary>
  10. /// 地牢使用的随机种子
  11. /// </summary>
  12. public int? RandomSeed = null;
  13. /// <summary>
  14. /// 地牢组名称
  15. /// </summary>
  16. public string GroupName;
  17.  
  18. /// <summary>
  19. /// 战斗房间数量
  20. /// </summary>
  21. public int BattleRoomCount = 15;
  22.  
  23. /// <summary>
  24. /// 奖励房间数量
  25. /// </summary>
  26. public int RewardRoomCount = 2;
  27.  
  28. /// <summary>
  29. /// 商店数量
  30. /// </summary>
  31. public int ShopRoomCount = 1;
  32.  
  33. /// <summary>
  34. /// 出口房间数量
  35. /// </summary>
  36. public int OutRoomCount = 1;
  37.  
  38. /// <summary>
  39. /// Boss房间数量
  40. /// </summary>
  41. public int BossRoomCount = 1;
  42. /// <summary>
  43. /// 房间数量
  44. /// </summary>
  45. public int RoomCount => BattleRoomCount + RewardRoomCount + ShopRoomCount + OutRoomCount + BossRoomCount;
  46. /// <summary>
  47. /// 房间最大层级
  48. /// </summary>
  49. public int MaxLayer = 5;
  50. /// <summary>
  51. /// 房间最小间隔
  52. /// </summary>
  53. public int RoomMinInterval = 2;
  54. /// <summary>
  55. /// 房间最大间隔
  56. /// </summary>
  57. public int RoomMaxInterval = 2;
  58. /// <summary>
  59. /// 房间横轴最小分散程度
  60. /// </summary>
  61. public float RoomHorizontalMinDispersion = -0.6f;
  62. /// <summary>
  63. /// 房间横轴最大分散程度
  64. /// </summary>
  65. public float RoomHorizontalMaxDispersion = 0.6f;
  66.  
  67. /// <summary>
  68. /// 房间纵轴最小分散程度
  69. /// </summary>
  70. public float RoomVerticalMinDispersion = -0.6f;
  71. /// <summary>
  72. /// 房间纵轴最大分散程度
  73. /// </summary>
  74. public float RoomVerticalMaxDispersion = 0.6f;
  75. /// <summary>
  76. /// 是否启用区域限制
  77. /// </summary>
  78. public bool EnableLimitRange = true;
  79. /// <summary>
  80. /// 横轴范围
  81. /// </summary>
  82. public int RangeX = 120;
  83. /// <summary>
  84. /// 纵轴范围
  85. /// </summary>
  86. public int RangeY = 120;
  87. //----------------------- 地牢编辑使用 -------------------------
  88. /// <summary>
  89. /// 是否指定了房间
  90. /// </summary>
  91. public bool HasDesignatedRoom => DesignatedRoom != null && DesignatedRoom.Count > 0;
  92. /// <summary>
  93. /// 指定预设的房间类型
  94. /// </summary>
  95. public DungeonRoomType DesignatedType;
  96. /// <summary>
  97. /// 指定房间列表
  98. /// </summary>
  99. public List<DungeonRoomSplit> DesignatedRoom;
  100. }