-
- using System.Text.Json;
-
- [BuffFragment(
- "BulletDeviationAngle",
- "子弹偏移角度 buff, 单位角度制, 会从上限和下限随机抽取值",
- Arg1 = "(float)增加子弹偏移角度下限",
- Arg2 = "(float)增加子弹偏移角度上限"
- )]
- public class Buff_BulletDeviationAngle : BuffFragment
- {
- private float _min;
- private float _max;
-
- public override void InitParam(JsonElement[] args)
- {
- _min = args[0].GetSingle();
- _max = args[1].GetSingle();
- }
-
- public override void OnPickUpItem()
- {
- Role.RoleState.CalcBulletDeviationAngleEvent += CalcBulletDeviationAngleEvent;
- }
-
- public override void OnRemoveItem()
- {
- Role.RoleState.CalcBulletDeviationAngleEvent -= CalcBulletDeviationAngleEvent;
- }
-
- private void CalcBulletDeviationAngleEvent(float originAngle, RefValue<float> refValue)
- {
- refValue.Value += Utils.Random.RandomRangeFloat(_min, _max);
- }
- }