Esempio n. 1
0
 /**
  * 不做唯一性判断, 直接添加tag
  */
 public void AddTagFast(CGameplayTag TagToAdd)
 {
     if (!TagToAdd.IsValid())
     {
         return;
     }
     GameplayTags.Add(TagToAdd);
     AddParentsForTag(TagToAdd);
 }
Esempio n. 2
0
        /**
         * 精确包含. 只判断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));
        }
Esempio n. 3
0
        /// <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));
        }