public SkillDataSon(ConfigRow rowData, SkillDataWhole parent) { m_Parent = parent; m_bDeliver = false; string sSkillType = rowData.GetValue("SkillType"); m_eSkillType = string.Empty == sSkillType ? SkillEnum.SkillType.Property : (SkillEnum.SkillType)Enum.Parse(typeof(SkillEnum.SkillType), sSkillType); string[] temp = rowData.GetValue("Camp_AimType").Split('_'); m_eAimSide = (SkillEnum.AimSide)Enum.Parse(typeof(SkillEnum.AimSide), temp[0]); m_eAimSideType = (SkillEnum.AimSideType)Enum.Parse(typeof(SkillEnum.AimSideType), temp[1]); m_eCatchType = rowData.GetValue("CatchType").Length > 0 ? (SkillEnum.CatchType)Enum.Parse(typeof(SkillEnum.CatchType), rowData.GetValue("CatchType")) : SkillEnum.CatchType.All; SetCatchScope(rowData.GetValue("CatchScope")); SetBuffTime(rowData.GetValue("EffectExpress")); SetReceptorEffect(rowData.GetValue("ReceptorEffect")); }
//停止某类型Buff public void CancelByType(SkillEnum.SkillType buffType) { TickData tickData; for (int i = _lstTick.Count - 1, len = 0; i >= len; --i) { tickData = _lstTick[i]; if (tickData.m_SkillDataSon.m_eSkillType == buffType) { if (null != tickData.funcEnd) { tickData.funcEnd(true); } _lstTick.Remove(tickData); } } }