Newer
Older
DungeonShooting / DungeonShooting_Godot / src / config / ExcelConfig_ActivePropBase.cs
  1. using System.Text.Json.Serialization;
  2. using System.Collections.Generic;
  3.  
  4. namespace Config;
  5.  
  6. public static partial class ExcelConfig
  7. {
  8. public class ActivePropBase
  9. {
  10. /// <summary>
  11. /// Buff Id
  12. /// </summary>
  13. [JsonInclude]
  14. public string Id;
  15.  
  16. /// <summary>
  17. /// 备注
  18. /// </summary>
  19. [JsonInclude]
  20. public string Remark;
  21.  
  22. /// <summary>
  23. /// 属性绑定Buff实体的Id,这个id时ActivityBase表Id
  24. /// </summary>
  25. public ActivityBase Activity;
  26.  
  27. /// <summary>
  28. /// 被动Buff效果 <br/>
  29. /// 也就是当前buff道具所有挂载的被动属性集合, 具体属性名称请参阅buff属性表 <br/>
  30. /// key为buff属性名称 <br/>
  31. /// value为buff初始化参数
  32. /// </summary>
  33. [JsonInclude]
  34. public Dictionary<string, float[]> Buff;
  35.  
  36. /// <summary>
  37. /// 道具使用条件 <br/>
  38. /// 参数配置方式与buff字段相同 <br/>
  39. /// 性名称请参阅condition属性表
  40. /// </summary>
  41. [JsonInclude]
  42. public Dictionary<string, float[]> Condition;
  43.  
  44. /// <summary>
  45. /// 道具使用效果 <br/>
  46. /// 参数配置方式与buff字段相同 <br/>
  47. /// 性名称请参阅effect属性表
  48. /// </summary>
  49. [JsonInclude]
  50. public Dictionary<string, float[]> Effect;
  51.  
  52. /// <summary>
  53. /// 道具充能效果 <br/>
  54. /// 参数配置方式与buff字段相同 <br/>
  55. /// 性名称请参阅charge属性表 <br/>
  56. /// 注意: 仅当'IsConsumables'为false是生效
  57. /// </summary>
  58. [JsonInclude]
  59. public Dictionary<string, float[]> Charge;
  60.  
  61. /// <summary>
  62. /// 使用道具的效果持续时间 <br/>
  63. /// 单位: 秒
  64. /// </summary>
  65. [JsonInclude]
  66. public float Duration;
  67.  
  68. /// <summary>
  69. /// 使用一次后的冷却时间 <br/>
  70. /// 单位: 秒
  71. /// </summary>
  72. [JsonInclude]
  73. public float CooldownTime;
  74.  
  75. /// <summary>
  76. /// 是否是消耗品, 如果为true, 则每次使用都会消耗叠加数量
  77. /// </summary>
  78. [JsonInclude]
  79. public bool IsConsumables;
  80.  
  81. /// <summary>
  82. /// 最大叠加次数, 仅当'IsConsumables'为true时有效
  83. /// </summary>
  84. [JsonInclude]
  85. public uint MaxCount;
  86.  
  87. /// <summary>
  88. /// 返回浅拷贝出的新对象
  89. /// </summary>
  90. public ActivePropBase Clone()
  91. {
  92. var inst = new ActivePropBase();
  93. inst.Id = Id;
  94. inst.Remark = Remark;
  95. inst.Activity = Activity;
  96. inst.Buff = Buff;
  97. inst.Condition = Condition;
  98. inst.Effect = Effect;
  99. inst.Charge = Charge;
  100. inst.Duration = Duration;
  101. inst.CooldownTime = CooldownTime;
  102. inst.IsConsumables = IsConsumables;
  103. inst.MaxCount = MaxCount;
  104. return inst;
  105. }
  106. }
  107. private class Ref_ActivePropBase : ActivePropBase
  108. {
  109. [JsonInclude]
  110. public string __Activity;
  111.  
  112. }
  113. }