Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / buff / charge / Cha_EnterRoom.cs
@小李xl 小李xl on 22 Mar 2024 907 bytes 道具逻辑片段更新参数描述
  1.  
  2. using System.Text.Json;
  3.  
  4. [ChargeFragment(
  5. "EnterRoom",
  6. "玩家第一次进入某个房间充能, 该条充能件仅对玩家生效",
  7. Arg1 = "(float)充能量, 范围内0-1"
  8. )]
  9. public class Cha_EnterRoom : ChargeFragment
  10. {
  11. private float _value = 0.2f;
  12. public override void InitParam(JsonElement[] args)
  13. {
  14. _value = args[0].GetSingle();
  15. }
  16.  
  17. public override void OnUse()
  18. {
  19. Master.ChargeProgress = 0;
  20. }
  21.  
  22. public override void OnPickUpItem()
  23. {
  24. if (Role is Player player)
  25. {
  26. player.OnFirstEnterRoomEvent += OnFirstEnterRoom;
  27. }
  28. }
  29.  
  30. public override void OnRemoveItem()
  31. {
  32. if (Role is Player player)
  33. {
  34. player.OnFirstEnterRoomEvent -= OnFirstEnterRoom;
  35. }
  36. }
  37.  
  38. private void OnFirstEnterRoom(RoomInfo roomInfo)
  39. {
  40. Master.ChargeProgress += _value;
  41. }
  42. }