//构造 public BaseSkill(int uid, int startIndex, SkillCfg cfg) { this.skillUID = uid; this.startFrame = startIndex; this.cfg = cfg; //解析一下cfg addEvent //是netPlayer不需要解析伤害事件 BaseSkillEvent skillEvent1 = new BaseSkillEvent(this.startFrame + 1, E_SkillEventType.Audio); BaseSkillEvent skillEvent2 = new BaseSkillEvent(this.startFrame + 2, E_SkillEventType.Effect); BaseSkillEvent skillEvent3 = new BaseSkillEvent(this.startFrame + 6, E_SkillEventType.Damage); BaseSkillEvent skillEvent4 = new BaseSkillEvent(this.startFrame + 6, E_SkillEventType.Damage); BaseSkillEvent skillEvent5 = new BaseSkillEvent(this.startFrame + 300, E_SkillEventType.Damage); eventPool.Add(this.startFrame + 1, new List <BaseSkillEvent>() { skillEvent1 }); eventPool.Add(this.startFrame + 2, new List <BaseSkillEvent>() { skillEvent2 }); eventPool.Add(this.startFrame + 6, new List <BaseSkillEvent>() { skillEvent3, skillEvent4 }); eventPool.Add(this.startFrame + 300, new List <BaseSkillEvent>() { skillEvent5 }); maxFrame = this.startFrame + 300; }
private void InitProgress() { int num = 1; int group = 1; for (int i = 0; i < _info.eventList.Count; ++i) { BaseSkillEvent bse = _info.eventList[i]; if (SKILL_EVENT_TYPE.子弹 == bse.eventType || SKILL_EVENT_TYPE.动作 == bse.eventType) { for (int j = 0; j < bse.times; ++j) { SkillProgress sp = SkillProgressCtrl.Instance.GetSkillProgress(false); _spList.Add(sp); sp.InitEvt(bse, _id, bse.time + bse.interval * j, num, group); ++num; } } else { SkillProgress sp = SkillProgressCtrl.Instance.GetSkillProgress(false); _spList.Add(sp); sp.InitEvt(bse, _id, bse.time, num, group); ++num; } } }
public CharacterSkill(Character character) { this.character = character; this.skillList = character.Data.skillDataArray.ToList(); this.characterTransform = character.transform; initEvent = new BaseSkillEvent(SkillData.ConditionType.Init, this); firstShootEvent = new BaseSkillEvent(SkillData.ConditionType.FirstShoot, this); collideEvent = new BaseSkillEvent(SkillData.ConditionType.Collide, this); beCollidedEvent = new BaseSkillEvent(SkillData.ConditionType.BeCollide, this); allStopEvent = new BaseSkillEvent(SkillData.ConditionType.AllStop, this); }