Newer
Older
DungeonShooting / DungeonShooting_Godot / src / config / ExcelConfig_AiAttackAttr.cs
@小李xl 小李xl on 15 Nov 2023 2 KB 普通ai攻击状态
  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 AiAttackAttr
  9. {
  10. /// <summary>
  11. /// 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. /// 锁定目标时是否站立不动
  24. /// </summary>
  25. [JsonInclude]
  26. public bool LockingStand;
  27.  
  28. /// <summary>
  29. /// 开火时是否站立不动
  30. /// </summary>
  31. [JsonInclude]
  32. public bool FiringStand;
  33.  
  34. /// <summary>
  35. /// 是否显示射击辅助线
  36. /// </summary>
  37. [JsonInclude]
  38. public bool ShowSubline;
  39.  
  40. /// <summary>
  41. /// Ai属性 <br/>
  42. /// 目标锁定时间, 也就是瞄准目标多久才会开火, (单位: 秒)
  43. /// </summary>
  44. [JsonInclude]
  45. public float LockingTime;
  46.  
  47. /// <summary>
  48. /// 从锁定目标到开火前有多少时间不能够改变枪口角度 <br/>
  49. /// 这个值必须小于LockingTime <br/>
  50. /// 如果为0, 则不会锁定开火角度 <br/>
  51. /// (单位: 秒)
  52. /// </summary>
  53. [JsonInclude]
  54. public float LockAngleTime;
  55.  
  56. /// <summary>
  57. /// 开火时是否锁定枪口角度
  58. /// </summary>
  59. [JsonInclude]
  60. public bool AttackLockAngle;
  61.  
  62. /// <summary>
  63. /// Ai属性 <br/>
  64. /// Ai使用该武器发射的子弹速度缩放比
  65. /// </summary>
  66. [JsonInclude]
  67. public float BulletSpeedScale;
  68.  
  69. /// <summary>
  70. /// Ai属性 <br/>
  71. /// Ai使用该武器消耗弹药的概率, (0 - 1)
  72. /// </summary>
  73. [JsonInclude]
  74. public float AmmoConsumptionProbability;
  75.  
  76. /// <summary>
  77. /// 返回浅拷贝出的新对象
  78. /// </summary>
  79. public AiAttackAttr Clone()
  80. {
  81. var inst = new AiAttackAttr();
  82. inst.Id = Id;
  83. inst.Remark = Remark;
  84. inst.LockingStand = LockingStand;
  85. inst.FiringStand = FiringStand;
  86. inst.ShowSubline = ShowSubline;
  87. inst.LockingTime = LockingTime;
  88. inst.LockAngleTime = LockAngleTime;
  89. inst.AttackLockAngle = AttackLockAngle;
  90. inst.BulletSpeedScale = BulletSpeedScale;
  91. inst.AmmoConsumptionProbability = AmmoConsumptionProbability;
  92. return inst;
  93. }
  94. }
  95. }