Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / activity / prop / buff / Buff0009.cs
@小李xl 小李xl on 29 Jun 2023 907 bytes 制作被动道具

using Godot;

/// <summary>
/// 高速子弹	子弹速度和射程提升25%
/// </summary>
[GlobalClass, Tool]
public partial class Buff0009 : Buff
{
    protected override void OnPickUp(Role master)
    {
        master.RoleState.CalcBulletSpeedEvent += CalcBulletSpeedEvent;
        master.RoleState.CalcBulletDistanceEvent += CalcBulletDistanceEvent;
    }
    
    protected override void OnRemove(Role master)
    {
        master.RoleState.CalcBulletSpeedEvent -= CalcBulletSpeedEvent;
        master.RoleState.CalcBulletDistanceEvent -= CalcBulletDistanceEvent;
    }
    
    private void CalcBulletSpeedEvent(Weapon weapon, float originSpeed, RefValue<float> speed)
    {
        speed.Value += originSpeed * 0.25f;
    }
    
    private void CalcBulletDistanceEvent(Weapon weapon, float originDistance, RefValue<float> distance)
    {
        distance.Value += originDistance * 0.25f;
    }
}