public int AddBuff(Role sendRole, IBuff.BuffType type, int typeId) { IBuff buff = null; if (type == IBuff.BuffType.Behavior) { if (EnableBehaviorBuff()) { buff = GetSameBuff(type, typeId); if (buff == null) { buff = NewBuff(type); } else { Debug.Log(""); } buff.Init(sendRole, mRole, BuffCofig.singleton.GetBehaviorBuffConfig(typeId), Time.fixedTime); } } else if (type == IBuff.BuffType.Move) { if (EnableMoveBuff()) { buff = GetSameBuff(type, typeId); if (buff == null) { buff = NewBuff(type); } else { Debug.Log(""); } buff.Init(sendRole, mRole, BuffCofig.singleton.GetMoveBuffConfig(typeId), Time.fixedTime); } } else if (type == IBuff.BuffType.Hurt) { if (EnableHurtBuff()) { buff = GetSameBuff(type, typeId); if (buff == null) { buff = NewBuff(type); } else { Debug.Log(""); } buff.Init(sendRole, mRole, BuffCofig.singleton.GetHurtBuffConfig(typeId), Time.fixedTime); } } else if (type == IBuff.BuffType.Control) { buff = GetSameBuff(type, typeId); if (buff == null) { buff = NewBuff(type); } else { Debug.Log(""); } buff.Init(sendRole, mRole, BuffCofig.singleton.GetControlBuffConfig(typeId), Time.fixedTime); } if (buff != null) { buff.OnEnter(); mCurrBuffList[(int)type][buff.mInstId] = buff; return(mInstId); } else { return(-1); // Debug.Log("AddBuff " + "type=" + type + " typeId=" + typeId); } }