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. /// <summary>
  51. /// 初始化特殊标记
  52. /// </summary>
  53. public void InitSpecialMark(DungeonRoomType roomType)
  54. {
  55. if (roomType == DungeonRoomType.Inlet) //初始房间
  56. {
  57. var preloading = WaveList[0];
  58. //玩家标记
  59. var markInfo = new MarkInfo();
  60. markInfo.Position = new SerializeVector2();
  61. markInfo.Size = new SerializeVector2();
  62. markInfo.SpecialMarkType = SpecialMarkType.BirthPoint;
  63. markInfo.MarkList = new List<MarkInfoItem>();
  64. preloading.Add(markInfo);
  65. }
  66. }
  67. }