Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / map / DungeonRoomGroup.cs
  1.  
  2. using System.Collections.Generic;
  3. using System.Text.Json.Serialization;
  4.  
  5. /// <summary>
  6. /// 房间组数据
  7. /// </summary>
  8. public class DungeonRoomGroup
  9. {
  10. /// <summary>
  11. /// 组名称
  12. /// </summary>
  13. [JsonInclude]
  14. public string GroupName;
  15. /// <summary>
  16. /// 普通战斗房间, 进入该房间时会关上门, 并刷出若干波敌人, 消灭所有敌人后开门
  17. /// </summary>
  18. [JsonInclude]
  19. public List<DungeonRoomSplit> BattleList = new List<DungeonRoomSplit>();
  20.  
  21. /// <summary>
  22. /// 起始房间, 由上一层地牢的结束房间进入该房间, 每层包含一个起始房间
  23. /// </summary>
  24. [JsonInclude]
  25. public List<DungeonRoomSplit> InletList = new List<DungeonRoomSplit>();
  26.  
  27. /// <summary>
  28. /// 结束房间, 进入另一层地牢, 每层只是包含一个结束房间
  29. /// </summary>
  30. [JsonInclude]
  31. public List<DungeonRoomSplit> OutletList = new List<DungeonRoomSplit>();
  32.  
  33. /// <summary>
  34. /// boss战房间, 进入房间时会关上没, 刷出boss, 消灭boss后开门
  35. /// </summary>
  36. [JsonInclude]
  37. public List<DungeonRoomSplit> BossList = new List<DungeonRoomSplit>();
  38.  
  39. /// <summary>
  40. /// 奖励房间, 给予玩家武器或者道具奖励的房间
  41. /// </summary>
  42. [JsonInclude]
  43. public List<DungeonRoomSplit> RewardList = new List<DungeonRoomSplit>();
  44.  
  45. /// <summary>
  46. /// 商店, 玩家买卖道具装备的房间
  47. /// </summary>
  48. [JsonInclude]
  49. public List<DungeonRoomSplit> ShopList = new List<DungeonRoomSplit>();
  50.  
  51. /// <summary>
  52. /// 事件房间, 触发剧情或者解锁NPC的房间
  53. /// </summary>
  54. [JsonInclude]
  55. public List<DungeonRoomSplit> EventList = new List<DungeonRoomSplit>();
  56.  
  57. /// <summary>
  58. /// 获取指定类型房间集合
  59. /// </summary>
  60. public List<DungeonRoomSplit> GetRoomList(DungeonRoomType roomType)
  61. {
  62. switch (roomType)
  63. {
  64. case DungeonRoomType.Battle: return BattleList;
  65. case DungeonRoomType.Inlet: return InletList;
  66. case DungeonRoomType.Outlet: return OutletList;
  67. case DungeonRoomType.Boss: return BossList;
  68. case DungeonRoomType.Reward: return RewardList;
  69. case DungeonRoomType.Shop: return ShopList;
  70. case DungeonRoomType.Event: return EventList;
  71. }
  72.  
  73. return null;
  74. }
  75. }