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