Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / buff / fragment / Buff_BulletDeviationAngle.cs
@小李xl 小李xl on 15 Mar 2024 922 bytes buff系统重构中
  1.  
  2. [Buff("BulletDeviationAngle",
  3. "子弹偏移角度 buff, " +
  4. "参数‘1’为增加子弹偏移角度下限, " +
  5. "参数‘2’为增加子弹偏移角度上限, 单位角度制, 会从上限和下限随机抽取值")]
  6. public class Buff_BulletDeviationAngle : BuffFragment
  7. {
  8. private float _min;
  9. private float _max;
  10. public override void InitParam(float arg1, float arg2)
  11. {
  12. _min = arg1;
  13. _max = arg2;
  14. }
  15. public override void OnPickUpItem()
  16. {
  17. Role.RoleState.CalcBulletDeviationAngleEvent += CalcBulletDeviationAngleEvent;
  18. }
  19. public override void OnRemoveItem()
  20. {
  21. Role.RoleState.CalcBulletDeviationAngleEvent -= CalcBulletDeviationAngleEvent;
  22. }
  23. private void CalcBulletDeviationAngleEvent(float originAngle, RefValue<float> refValue)
  24. {
  25. refValue.Value += Utils.Random.RandomRangeFloat(_min, _max);
  26. }
  27. }