public RtBufData(int bufNum, int bufId, int fromNpcId, int toNpcId, OriginOfBuff o, int initLayer, float duration = -1F, int level = 0) { BeginFunc = new List <Action <RtBufData> >(); CycleFunc = new List <Action <RtBufData> >(); EndFunc = new List <Action <RtBufData> >(); TriFunc = new List <Action <RtBufData> >(); SkBufferModel bfModel = Core.Data.getIModelConfig <SkBufferModel>(); BuffCfg = bfModel.get(bufNum); Utils.Assert(BuffCfg == null, "RtBufData can't get buff config. buf num = " + bufNum); if (BuffCfg.ScriptStart > 0) { OnStartSkill = new RtSkData(BuffCfg.ScriptStart, -1); } if (BuffCfg.ScriptCycle > 0) { onCycleskill = new RtSkData(BuffCfg.ScriptCycle, -1); } if (BuffCfg.ScriptEnd > 0) { OnEndSkill = new RtSkData(BuffCfg.ScriptEnd, -1); } //初始层数 curLayers = BuffCfg.Stacks > initLayer ? initLayer : BuffCfg.Stacks; alive = 0; coolDown = BuffCfg.DelayTime; castRightNow = BuffCfg.DelayTime <= 0F; curCastTime = 0; origin = o; Cycle = false; ID = bufId; CastorNpcID = fromNpcId; HangUpNpcID = toNpcId; if (duration <= 0F) { curDuration = BuffCfg.Duration; } else { curDuration = duration; } isInFinity = curDuration == -1; }
//Level is ignore now //索引值index 如果是人物身上的技能,则填写响应的位置,否则可以填写-1, public RtSkData(int skId, short index, int level = 0) { SkillModel skMo = Core.Data.getIModelConfig <SkillModel>(); EffectModel efMo = Core.Data.getIModelConfig <EffectModel>(); SkBufferModel buMo = Core.Data.getIModelConfig <SkBufferModel>(); skillCfg = skMo.get(skId); Utils.Assert(skillCfg == null, "Can't find skill configure. Skill Id = " + skId); effectCfgDic = new Dictionary <int, EffectConfigData>(); if (skillCfg.EffectID != null) { int length = skillCfg.EffectID.Length; for (int i = 0; i < length; ++i) { int EffectId = skillCfg.EffectID[i]; if (EffectId <= 0) { continue; } EffectConfigData ecd = efMo.get(EffectId); Utils.Assert(ecd == null, "Can't find effect configure. Effect Id = " + EffectId + ". Skill Id = " + skillCfg.ID); effectCfgDic[ecd.ID] = ecd; } } else { ConsoleEx.DebugLog("Can't find skill effect. Skill Id = " + skId, ConsoleEx.YELLOW); } ChannelBuff = buMo.get(skillCfg.ChannelBuff); PassiveBuff = buMo.get(skillCfg.PassiveBuff); coolDown = 0F; //UI 的索引值 pos = index; }