public void AddAbilityState(AbilityState state, bool muteDisplayEffect) { AbilityStateEntry entry = this.GetStateEntry(this._abilityStatePushCount, state, true); if (entry.count == 0) { this.abilityState |= state; if (this.onAbilityStateAdd != null) { this.onAbilityStateAdd(state, muteDisplayEffect); } } entry.count++; }
private AbilityStateEntry GetStateEntry(List <AbilityStateEntry> ls, AbilityState state, bool createIfNotFound = false) { for (int i = 0; i < ls.Count; i++) { if (ls[i].state == state) { return(ls[i]); } } if (createIfNotFound) { AbilityStateEntry item = new AbilityStateEntry { state = state, count = 0 }; ls.Add(item); return(item); } return(null); }
public bool IsImmuneAbilityState(AbilityState state) { AbilityStateEntry entry = this.GetStateEntry(this._abilityStateImmuneCount, state, false); return((entry != null) ? (entry.count > 0) : false); }