// public Buff AddBuff(uint instID, uint typeID, float remainTime, Ientity entity) { if (IsHaveBuff(instID)) { return(buffDict[instID]); } if (entity == null) { return(null); } if (isHaveStopBuff(entity.GameObjGUID) == false) { BuffConfigInfo bi = ConfigReader.GetBuffInfo(typeID); if (null != bi) { if (bi.effectID == (int)eBuffEffect.eBuffEffectXuanYun || bi.effectID == (int)eBuffEffect.eBuffEffectShuFu) { entity.OnEntityGetAstrictBuff(); } } } Buff b = new Buff(); b.buffID = instID; b.buffTypeID = typeID; b.buffTime = remainTime; b.entity = entity; //buffDict[instID] = b; buffDict.Add(instID, b); if (isSelfHaveBuffType(chenmoID) == true) { EventCenter.Broadcast <bool>(EGameEvent.eGameEvent_LocalPlayerSilence, true); } //refresh ui if (UIBuffUnityInterface.Instance != null) { UIBuffUnityInterface.Instance.RefreshUIItem(); } return(b); }