using System.Collections.Generic; namespace BF { public class BattleSkillData { public bool IsInit = false; public int SkillId = 0; // 子弹资源路径 public string Res = string.Empty; public int DirectionType = 0; // 子弹数量 public int BulletCount = 0; // 是否享受英雄的子弹数量加成 public bool WithUnitBulletCount = false; // 扩散角度 public int Diffusion = 0; public int Kind = 0; // 子弹飞行速度 public float BulletSpeed = 0.0f; // 是否享受英雄的子弹飞行速度加成 public bool WithUnitBulletSpeed = false; // 穿透数量 public int MaxHitCount = 0; // 是否享受英雄的子弹穿透数量加成 public bool WithUnitBulletHitCount = false; // 无限的穿透次数 public bool UnlimitedHitCount = false; // 碰撞类型 public int CollisionType = 0; // 基础碰撞半径 public float BaseCollisionRadius = 0.0f; // 碰撞半径 public float CollisionRadius = 0.0f; // 基础碰撞宽 public float BaseCollisionWidth = 0.0f; // 碰撞宽 public float CollisionWidth = 0.0f; // 基础碰撞宽 public float BaseCollisionHeight = 0.0f; // 碰撞高 public float CollisionHeight = 0.0f; // 持续时间 public float Lifetime = 0.0f; // 是否永久存在 public bool Forever = false; // 是否享受英雄的子弹持续时间加成 public bool WithUnitBulletLifetime = false; // 圆型技能的攻击半径 public float Range = 0.0f; // 攻击距离 public float AtkDistance = 0.0f; // 是否享受英雄的攻击距离加成 public bool WithUnitBulletRange = false; // 是否享受英雄减CD效果 public bool WithUnitSkillCD = false; // 是否是地面技能 public bool IsFloor = false; // 生效间隔 public float EffectInterval = 0.0f; // 延迟生效 public float EffectDelay = 0.0f; // 技能倍率 public double HurtFactor = 0.0f; // 子弹发射间隔 public float BulletSendInterval = 0.0f; // 子弹音效ID public int BulletSoundID = 0; // 子弹音效延迟播放时间 public float BulletSoundDelay = 0.0f; // 子弹特效延迟播放 public float BulletFxDelay = 0.0f; // 击退距离 public float HitBack = 0.0f; // 生效次数 public int WorkTime = 0; // 控制类型 public int ControlType = 0; // 控制参数 public int ControlParam = 0; // 控制持续时间 public float ControlDuration = 0.0f; // 目标效果 public int TargetEffect = 0; // 目标效果值 public long TargetEffectValue = 0; // 目标效果时间 public float TargetEffectTime = 0.0f; // 子技能id public int SkillSub = 0; // 子技能触发条件 public int SkillSubTrigger = 0; // 子技能触发参数 public int SkillSubTriggerValue = 0; // 子弹高度 public float BulletShootHeight = -1.0f; // 额外伤害类型 public int HurtExtraType = 0; // 额外伤害参数 public long HurtExtraValue = 0; // 特殊伤害值 public long HurtSpecial = 0; // 坐标偏移 public float OffsetX = 0.0f; public float OffsetY = 0.0f; public float OffsetZ = 0.0f; // 特殊表现的特效 public string SpecialFx = string.Empty; // 特殊表现的特效是否是地面特效 public bool IsSpecialFxFloor = false; // 特殊表现的参数 public List SpecialFxParams; public List TryGetEmptySpecialFxParams() { if (ReferenceEquals(SpecialFxParams, null)) { SpecialFxParams = new List(); } else { SpecialFxParams.Clear(); } return SpecialFxParams; } } }