Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / buff / effect / Eff_TotalAmmo.cs
  1.  
  2. using System.Text.Json;
  3.  
  4. [EffectFragment("TotalAmmo",
  5. "修改武器总弹药量, " +
  6. "参数1(选填)为弹药变化的具体值, 如果不传则表示补满弹药")]
  7. public class Eff_TotalAmmo : EffectFragment
  8. {
  9. private bool _initParam = false;
  10. private int _value;
  11.  
  12. public override void InitParam(JsonElement[] args)
  13. {
  14. _initParam = true;
  15. _value = args[0].GetInt32();
  16. }
  17.  
  18. public override void OnUse()
  19. {
  20. var weapon = Role.WeaponPack.ActiveItem;
  21. if (_initParam)
  22. {
  23. weapon.SetTotalAmmo(weapon.TotalAmmon + _value);
  24. }
  25. else
  26. {
  27. weapon.SetTotalAmmo(weapon.Attribute.MaxAmmoCapacity);
  28. }
  29. }
  30. }