-
- [Buff("BulletSpeed",
- "子弹速度 buff, " +
- "参数‘1’为射速增加类型: 1:具体射速, 2:百分比射速(小数), " +
- "参数‘2’为子弹增加的射速值")]
- public class Buff_BulletSpeed : BuffFragment
- {
- private int _type;
- private float _value;
-
- public override void InitParam(float arg1, float arg2)
- {
- _type = (int)arg1;
- _value = arg2;
- }
-
- public override void OnPickUpItem()
- {
- if (_type == 1)
- {
- Role.RoleState.CalcBulletSpeedEvent += CalcBulletSpeedEvent1;
- }
- else
- {
- Role.RoleState.CalcBulletSpeedEvent += CalcBulletSpeedEvent2;
- }
- }
-
- public override void OnRemoveItem()
- {
- if (_type == 1)
- {
- Role.RoleState.CalcBulletSpeedEvent -= CalcBulletSpeedEvent1;
- }
- else
- {
- Role.RoleState.CalcBulletSpeedEvent -= CalcBulletSpeedEvent2;
- }
- }
-
- private void CalcBulletSpeedEvent1(float originSpeed, RefValue<float> speed)
- {
- speed.Value += _value;
- }
-
- private void CalcBulletSpeedEvent2(float originSpeed, RefValue<float> speed)
- {
- speed.Value += originSpeed * _value;
- }
- }