public BulletHealingHoming(BulletHealingHoming _bulletHH) { limitAngel = _bulletHH.limitAngel; limitChangeStartTime = _bulletHH.limitChangeStartTime; limitChangeAngel = _bulletHH.limitChangeAngel; hightLock = _bulletHH.hightLock; isTakeOverTarget = _bulletHH.isTakeOverTarget; acceleration = _bulletHH.acceleration; isIgnoreColliderExceptTarget = _bulletHH.isIgnoreColliderExceptTarget; defaultGenerateLayer = _bulletHH.defaultGenerateLayer; buffIds = _bulletHH.buffIds; }
public BulletHealingHoming CreateParamMergedInstance(BulletHealingHoming _target, float _ratio) { if (_target == null) { return(this); } BulletHealingHoming bulletHealingHoming = new BulletHealingHoming(); bulletHealingHoming.limitAngel = AttackInfo.GetRateValue(limitAngel, _target.limitAngel, _ratio); bulletHealingHoming.limitChangeStartTime = AttackInfo.GetRateValue(limitChangeStartTime, _target.limitChangeStartTime, _ratio); bulletHealingHoming.limitChangeAngel = AttackInfo.GetRateValue(limitChangeAngel, _target.limitChangeAngel, _ratio); bulletHealingHoming.hightLock = AttackInfo.GetRateValue(hightLock, _target.hightLock, _ratio); bulletHealingHoming.isTakeOverTarget = AttackInfo.GetRateValue(isTakeOverTarget, _target.isTakeOverTarget, _ratio); bulletHealingHoming.acceleration = AttackInfo.GetRateValue(acceleration, _target.acceleration, _ratio); bulletHealingHoming.isIgnoreColliderExceptTarget = AttackInfo.GetRateValue(isIgnoreColliderExceptTarget, _target.isIgnoreColliderExceptTarget, _ratio); bulletHealingHoming.defaultGenerateLayer = ((!(_ratio <= 0.5f)) ? _target.defaultGenerateLayer : defaultGenerateLayer); int i = 0; for (int count = buffIds.Count; i < count; i++) { bulletHealingHoming.buffIds.Add(AttackInfo.GetRateValue(buffIds[i], _target.buffIds[i], _ratio)); } return(bulletHealingHoming); }