Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / map / serialize / room / RoomPreinstallInfo.cs
  1.  
  2. using System.Collections.Generic;
  3. using System.Text.Json.Serialization;
  4.  
  5. /// <summary>
  6. /// 房间预设数据
  7. /// </summary>
  8. public class RoomPreinstallInfo
  9. {
  10. /// <summary>
  11. /// 预设名称
  12. /// </summary>
  13. [JsonInclude]
  14. public string Name;
  15.  
  16. /// <summary>
  17. /// 预设权重
  18. /// </summary>
  19. [JsonInclude]
  20. public int Weight;
  21.  
  22. /// <summary>
  23. /// 预设备注
  24. /// </summary>
  25. [JsonInclude]
  26. public string Remark;
  27.  
  28. /// <summary>
  29. /// 是否自动填充数据
  30. /// </summary>
  31. [JsonInclude]
  32. public bool AutoFill;
  33.  
  34. /// <summary>
  35. /// 波数数据
  36. /// </summary>
  37. [JsonInclude]
  38. public List<List<MarkInfo>> WaveList;
  39.  
  40. /// <summary>
  41. /// 初始化波数据
  42. /// </summary>
  43. public void InitWaveList()
  44. {
  45. WaveList = new List<List<MarkInfo>>
  46. {
  47. new List<MarkInfo>()
  48. };
  49. }
  50.  
  51. /// <summary>
  52. /// 初始化特殊标记
  53. /// </summary>
  54. public void InitSpecialMark(DungeonRoomType roomType)
  55. {
  56. var type = SpecialMarkType.Normal;
  57. if (roomType == DungeonRoomType.Inlet) //初始房间
  58. {
  59. type = SpecialMarkType.BirthPoint;
  60. }
  61. else if (roomType == DungeonRoomType.Outlet) //结束房间
  62. {
  63. type = SpecialMarkType.OutPoint;
  64. }
  65.  
  66. if (type != SpecialMarkType.Normal)
  67. {
  68. var preloading = WaveList[0];
  69. var markInfo = new MarkInfo();
  70. markInfo.Position = new SerializeVector2();
  71. markInfo.Size = new SerializeVector2();
  72. markInfo.SpecialMarkType = type;
  73. markInfo.MarkList = new List<MarkInfoItem>();
  74. preloading.Add(markInfo);
  75. }
  76. }
  77. }