Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / buff / charge / Cha_Hurt.cs
@小李xl 小李xl on 20 Mar 2024 958 bytes 优化“红外遥控器”道具效果
  1.  
  2. [ChargeFragment("Hurt",
  3. "造成伤害充能, 参数1为充满能量需要造成的伤害值")]
  4. public class Cha_Hurt : ChargeFragment
  5. {
  6. private int _value = 100;
  7.  
  8. public override void InitParam(float arg1)
  9. {
  10. _value = (int)arg1;
  11. }
  12.  
  13. public override void OnUse()
  14. {
  15. }
  16.  
  17. public override void Process(float delta)
  18. {
  19. if (Master.IsUsing)
  20. {
  21. Master.ChargeProgress = 1 - Master.UsingProgress;
  22. }
  23. }
  24.  
  25. public override void OnUsingFinish()
  26. {
  27. Master.ChargeProgress = 0;
  28. }
  29.  
  30. public override void OnPickUpItem()
  31. {
  32. Role.OnDamageEvent += OnDamageEvent;
  33. }
  34.  
  35. public override void OnRemoveItem()
  36. {
  37. Role.OnDamageEvent -= OnDamageEvent;
  38. }
  39.  
  40. private void OnDamageEvent(Role role, int value)
  41. {
  42. if (Master.IsUsing)
  43. {
  44. return;
  45. }
  46. Master.ChargeProgress += 1f / _value * value;
  47. }
  48. }