Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / buff / fragment / Buff_MaxHp.cs
@小李xl 小李xl on 14 Mar 2024 668 bytes 重构buff中
  1.  
  2. using System.Collections.Generic;
  3.  
  4. [Buff("MaxHp", "血量上限 buff, 参数‘1’为血量上限值")]
  5. public class Buff_MaxHp : BuffFragment
  6. {
  7. private List<ulong> _cacheId = new List<ulong>();
  8. private int _maxHp;
  9. public override void InitParam(float arg1)
  10. {
  11. _maxHp = (int)arg1;
  12. }
  13. public override void OnPickUpItem()
  14. {
  15. Role.MaxHp += _maxHp;
  16. var instanceId = Role.GetInstanceId();
  17. if (!_cacheId.Contains(instanceId))
  18. {
  19. _cacheId.Add(instanceId);
  20. Role.Hp += _maxHp;
  21. }
  22. }
  23.  
  24. public override void OnRemoveItem()
  25. {
  26. Role.MaxHp -= _maxHp;
  27. }
  28. }