/** * 不做唯一性判断, 直接添加tag */ public void AddTagFast(CGameplayTag TagToAdd) { if (!TagToAdd.IsValid()) { return; } GameplayTags.Add(TagToAdd); AddParentsForTag(TagToAdd); }
/** * 精确包含. 只判断GameplayTags列表 *{"A.1"}.HasTagExact("A") will return False */ public bool HasTagExact(CGameplayTag TagToCheck) { if (!TagToCheck.IsValid()) { return(false); } // Only check check explicit tag list return(GameplayTags.Contains(TagToCheck)); }
/// <summary> /// TagToCheck是否在本container中. 也会检查ParentTags /// {"A.1"}.HasTag("A") will return True, {"A"}.HasTag("A.1") will return False /// </summary> public bool HasTag(CGameplayTag TagToCheck) { if (!TagToCheck.IsValid()) { return(false); } // 自己或者父亲有就可以 return(GameplayTags.Contains(TagToCheck) || ParentTags.Contains(TagToCheck)); }