Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / buff / charge / Cha_EnterRoom.cs
@小李xl 小李xl on 21 Mar 2024 890 bytes 新增3个道具

using System.Text.Json;

[ChargeFragment("EnterRoom", "玩家第一次进入某个房间充能, 该条充能件仅对玩家生效, 参数1为进入房间充能量(0-1)")]
public class Cha_EnterRoom : ChargeFragment
{
    private float _value = 0.2f;
    
    public override void InitParam(JsonElement[] args)
    {
        _value = args[0].GetSingle();
    }

    public override void OnUse()
    {
        Master.ChargeProgress = 0;
    }

    public override void OnPickUpItem()
    {
        if (Role is Player player)
        {
            player.OnFirstEnterRoomEvent += OnFirstEnterRoom;
        }
    }

    public override void OnRemoveItem()
    {
        if (Role is Player player)
        {
            player.OnFirstEnterRoomEvent -= OnFirstEnterRoom;
        }
    }

    private void OnFirstEnterRoom(RoomInfo roomInfo)
    {
        Master.ChargeProgress += _value;
    }
}