Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / data / BulletData.cs
@小李xl 小李xl on 20 Nov 2023 2 KB 修复第二个敌人攻击问题
  1.  
  2. using Config;
  3. using Godot;
  4.  
  5. /// <summary>
  6. /// 子弹数据
  7. /// </summary>
  8. public class BulletData : IClone<BulletData>
  9. {
  10. /// <summary>
  11. /// 发射该子弹的武器, 可能为null
  12. /// </summary>
  13. public Weapon Weapon;
  14. /// <summary>
  15. /// 使用的配置数据
  16. /// </summary>
  17. public ExcelConfig.BulletBase BulletBase;
  18. /// <summary>
  19. /// 发射该子弹的角色, 可能为null
  20. /// </summary>
  21. public Role TriggerRole;
  22. /// <summary>
  23. /// 造成的伤害
  24. /// </summary>
  25. public int Harm;
  26.  
  27. /// <summary>
  28. /// 击退值
  29. /// </summary>
  30. public float Repel;
  31.  
  32. /// <summary>
  33. /// 最大飞行距离
  34. /// </summary>
  35. public float MaxDistance;
  36.  
  37. /// <summary>
  38. /// 子弹飞行速度
  39. /// </summary>
  40. public float FlySpeed;
  41.  
  42. /// <summary>
  43. /// 初始离地高度
  44. /// </summary>
  45. public float Altitude;
  46. /// <summary>
  47. /// 纵轴速度
  48. /// </summary>
  49. public float VerticalSpeed;
  50. /// <summary>
  51. /// 反弹次数
  52. /// </summary>
  53. public int BounceCount;
  54.  
  55. /// <summary>
  56. /// 子弹最大穿透次数
  57. /// </summary>
  58. public int Penetration;
  59.  
  60. /// <summary>
  61. /// 子弹最大存在时间
  62. /// </summary>
  63. public float LifeTime;
  64.  
  65. /// <summary>
  66. /// 坐标
  67. /// </summary>
  68. public Vector2 Position;
  69. /// <summary>
  70. /// 旋转角度
  71. /// </summary>
  72. public float Rotation;
  73. public BulletData Clone()
  74. {
  75. return new BulletData
  76. {
  77. Weapon = Weapon,
  78. BulletBase = BulletBase,
  79. TriggerRole = TriggerRole,
  80. Harm = Harm,
  81. Repel = Repel,
  82. MaxDistance = MaxDistance,
  83. FlySpeed = FlySpeed,
  84. Altitude = Altitude,
  85. VerticalSpeed = VerticalSpeed,
  86. BounceCount = BounceCount,
  87. Penetration = Penetration,
  88. LifeTime = LifeTime,
  89. Position = Position,
  90. Rotation = Rotation
  91. };
  92. }
  93. }