public void RemoveTags(FAbilityTagContainer inAbilityTagContainer) { if (inAbilityTagContainer.IsEmpty()) { return; } foreach (FAbilityTag abilityTag in inAbilityTagContainer.abilityTags) { AddTag(abilityTag, -1); } //AddTag(inAbilityTagContainer.abilityTags[inAbilityTagContainer.abilityTags.Count - 1], -1); }
public bool HasAnyMatchingTags(FAbilityTagContainer inOtherContainer) { if (inOtherContainer.IsEmpty()) { return(true); } foreach (FAbilityTag abilityTag in inOtherContainer.abilityTags) { if (HasMatchingTag(abilityTag)) { return(true); } } return(false); }
public bool HasAll(FAbilityTagContainer tagContainer) { if (tagContainer.IsEmpty()) { return(true); } if (IsEmpty() || abilityTags.Count < tagContainer.abilityTags.Count) { return(false); } for (int i = 0; i < tagContainer.abilityTags.Count; i++) { if (abilityTags[i] != tagContainer.abilityTags[i]) { return(false); } } return(true); }