public int AddBuff(BuffParam param) { if (param.templateID <= 0) { return((int)BuffDefines.ActionReult.Act_ParamError); } Buff_Tbl buffTbl = TemplatePool.Instance.GetDataByKey <Buff_Tbl>(param.templateID); if (null == buffTbl) { return((int)BuffDefines.ActionReult.Act_CfgError); } // firstly cover same series foreach (var value in m_buffList.Values) { if (null == value) { continue; } Buff_Tbl buffTemp = value.GetTemplate(); if (buffTemp.buffType == buffTbl.buffType) { if ((int)BuffDefines.CoverType.Cover == buffTbl.coverType) { CoverBuff(value, param); return((int)BuffDefines.ActionReult.Act_Success); } } } return(DoAddBuff(param)); }
public int AddBuff(int ownerID, BuffParam param) { BuffSet buffset = this.FindBuffSet(ownerID); if (null == buffset) { buffset = new BuffSet(); buffset.Init(ownerID); } return(buffset.AddBuff(param)); }
private int DoAddBuff(BuffParam param) { Buff buff = this.GetFreeInst(); if (buff != null) { buff.Init(++m_idCounter, param); buff.Pile(); return((int)BuffDefines.ActionReult.Act_Success); } return((int)BuffDefines.ActionReult.Act_Falied); }
private void CoverBuff(Buff oldBuff, BuffParam param) { RemoveBuff(oldBuff.GetID()); DoAddBuff(param); }