public bool CheckOverlay(BuffSkill _buffSkill) { if (_buffSkill.cfgData == null) { return(false); } if (!this.CheckTriggerRate(_buffSkill)) { return(false); } if (!this.CheckMutexCondition(_buffSkill)) { return(false); } if (!this.CheckDependCondition(_buffSkill)) { return(false); } if (_buffSkill.cfgData.dwOverlayMax < 1) { _buffSkill.SetOverlayCount(1); return(true); } BuffSkill skill = this.buffHolder.FindBuff(_buffSkill.SkillID); if ((skill != null) && (skill.GetOverlayCount() >= _buffSkill.cfgData.dwOverlayMax)) { if (_buffSkill.cfgData.dwOverlayRule != 1) { if (_buffSkill.cfgData.dwOverlayRule == 2) { this.buffHolder.RemoveBuff(_buffSkill.SkillID); return(false); } if (_buffSkill.cfgData.dwOverlayRule == 3) { this.buffHolder.RemoveBuff(_buffSkill.SkillID); _buffSkill.SetOverlayCount(1); return(true); } if (_buffSkill.cfgData.dwOverlayRule == 4) { int overlayCount = skill.GetOverlayCount(); this.buffHolder.RemoveBuff(_buffSkill.SkillID); _buffSkill.SetOverlayCount(overlayCount); return(true); } } return(false); } int num2 = 0; if (skill != null) { num2 = skill.GetOverlayCount(); this.buffHolder.RemoveBuff(_buffSkill.SkillID); } _buffSkill.SetOverlayCount(++num2); return(true); }
private void SetOverlayCount(int inSkillCombineId, int count) { if (this.buffHolder.SpawnedBuffList != null) { for (int i = 0; i < this.buffHolder.SpawnedBuffList.Count; i++) { BuffSkill skill = this.buffHolder.SpawnedBuffList[i]; if ((skill != null) && (skill.SkillID == inSkillCombineId)) { skill.SetOverlayCount(count); } } } }
private void SetOverlayCount(int inSkillCombineId, int count) { if (this.buffHolder.SpawnedBuffList != null) { for (int i = 0; i < this.buffHolder.SpawnedBuffList.get_Count(); i++) { BuffSkill buffSkill = this.buffHolder.SpawnedBuffList.get_Item(i); if (buffSkill != null && buffSkill.SkillID == inSkillCombineId) { buffSkill.SetOverlayCount(count); } } } }
public bool CheckOverlay(BuffSkill _buffSkill) { if (_buffSkill.cfgData == null) { return(false); } if (!this.CheckTriggerRate(_buffSkill)) { return(false); } if (!this.CheckMutexCondition(_buffSkill)) { return(false); } if (!this.CheckDependCondition(_buffSkill)) { return(false); } if (_buffSkill.cfgData.bOverlayMax < 1) { _buffSkill.SetOverlayCount(1); if (this.buffHolder.FindBuffCount(_buffSkill.SkillID) == 0) { _buffSkill.bFirstEffect = true; } return(true); } BuffSkill buffSkill = this.buffHolder.FindBuff(_buffSkill.SkillID); if (buffSkill == null || buffSkill.GetOverlayCount() < (int)_buffSkill.cfgData.bOverlayMax) { int num = 0; if (buffSkill != null) { num = buffSkill.GetOverlayCount(); this.SetOverlayCount(buffSkill.SkillID, num + 1); this.buffHolder.RemoveBuff(_buffSkill.SkillID); } _buffSkill.SetOverlayCount(num + 1); return(true); } if (_buffSkill.cfgData.bOverlayRule == 1) { return(false); } if (_buffSkill.cfgData.bOverlayRule == 2) { this.buffHolder.RemoveBuff(_buffSkill.SkillID); return(false); } if (_buffSkill.cfgData.bOverlayRule == 3) { this.buffHolder.RemoveBuff(_buffSkill.SkillID); _buffSkill.SetOverlayCount(1); return(true); } if (_buffSkill.cfgData.bOverlayRule == 4) { int overlayCount = buffSkill.GetOverlayCount(); this.buffHolder.RemoveBuff(_buffSkill.SkillID); _buffSkill.SetOverlayCount(overlayCount); return(true); } return(false); }