보유 및 차단된 GameplayTag를 관리하는 컴포넌트.
GameplayTag를 Dictionary<GameplayTag, int> 형태로 저장하여 관리함.
보유 태그와 차단 태그가 각각 존재하고, int 의 값이 0이면 없는 태그로서 취급함.
GameplayTag 가 추가되면 OnAddedTag 가 호출되고, 추가된 GameplayTag 의 값이 1일 경우 OnNewAddedTag도 호출됨.
GameplayTag 가 제거되면 OnSubtractedTag 가 호출되고, 제거된 GameplayTag 값이 0이라면 OnRemoveTag가 호출됨.
| Name | Value | Summary | 
|---|---|---|
| OwnedTags | IReadOnlyDictionary | |
| <GameplayTag, int> | 보유하고 있는 태그. | |
| _WasSetup 이 false 면 Setup()을 실행함. | ||
| BlockTags | IReadOnlyDictionary | |
| <GameplayTag, int> | 차단되어 있는 태그. | |
| _WasSetup 이 false 면 Setup()을 실행함. | 
| Name | Value | Summary | 
|---|---|---|
| ResetGameplayTagSystem | void | GameplayTagSystemComponent 를 초기 설정으로 되돌린다. | 
| TriggerTag(GameplayTag) | void | GameplayTag 를 Trigger 함. | 
| TriggerTags(GameplayTag[]) | void | GameplayTag[] 를 순차적으로 Trigger 함. | 
| AddOwnedTag(GameplayTag) | void | GameplayTag를 _OwnedTags 에 추가하고 Callback 함수를 실행함. | 
| AddOwnedTags(GameplayTag[]) | void | GameplayTag[]를 _OwnedTags 에 순차적으로 추가하고 Callback 함수를 실행함. | 
| RemoveOwnedTag(GameplayTag) | void | GameplayTag를 _OwnedTags 에 제거하고 Callback 함수를 실행함. | 
| RemoveOwnedTags(GameplayTag[]) | void | GameplayTag[]를 _OwnedTags 에 순차적으로 제거하고 Callback 함수를 실행함. | 
| AddBlockTag(GameplayTag) | void | GameplayTag를 _BlockTags 에 추가하고 Callback 함수를 실행함. | 
| AddBlockTags(GameplayTag[]) | void | GameplayTag[]를 _BlockTags 에 순차적으로 추가하고 Callback 함수를 실행함. | 
| RemoveBlockTag(GameplayTag) | void | GameplayTag를 _BlockTags 에 제거하고 Callback 함수를 실행함. | 
| RemoveBlockTags(GameplayTag[]) | void | GameplayTag[]를 _BlockTags 에 순차적으로 제거하고 Callback 함수를 실행함. | 
| ContainOwnedTag(GameplayTag) | bool | GameplayTag 를 보유하고 있는지 확인함. | 
| ContainAllTagsInOwned(GameplayTag[]) | bool | GameplayTag[] 를 모두 보유하고 있는지 확인함. | 
| ContainAllTagsInOwned | ||
| (IReadOnlyCollection<GameplayTag>) | bool | IReadOnlyCollection<GameplayTag[]> 를 모두 보유하고 있는지 확인함. | 
| ContainAnyTagsInOwned | ||
| (GameplayTag[] tags) | bool | GameplayTag[] 중 하나라도 보유하고 있는지 확인함. | 
| ContainAnyTagsInOwned | ||
| (IReadOnlyCollection<GameplayTag>) | bool | IReadOnlyCollection<GameplayTag> 중 하나라도 보유하고 있는지 확인함. | 
| ContainBlockTag(GameplayTag) | bool | GameplayTag 가 차단되어 있는지 확인함. | 
| ContainAllTagsInBlock | ||
| (GameplayTag[]) | bool | GameplayTag[] 를 모두 차단하고 있는지 확인함. | 
| ContainAllTagsInBlock | ||
| (IReadOnlyCollection<GameplayTag>) | bool | IReadOnlyCollection<GameplayTag> 를 모두 차단하고 있는지 확인함. | 
| ContainAnyTagsInBlock | ||
| (GameplayTag[]) | bool | GameplayTag[] 중 하나라도 차단하고 있는지 확인함. | 
| ContainAnyTagsInBlock | ||
| (IReadOnlyCollection<GameplayTag>) | bool | IReadOnlyCollection<GameplayTag> 중 하나라도 차단하고 있는지 확인함. | 
| Name | Value | Summary | 
|---|---|---|
| OnAddedOwnedTag | GameplayTagEventHandler | 보유 태그가 부여될 때 호출됨. | 
| OnSubtractedOwnedTag | GameplayTagEventHandler | 보유 태그가 제거될 때 호출됨. | 
| OnAddedNewOwnedTag | GameplayTagEventHandler | 보유 태그가 부여되고, 해당 태그 부여수가 1일 때 호출됨. | 
| OnRemovedOwnedTag | GameplayTagEventHandler | 보유 태그가 제거되고, 해당 태그 부여수가 0일 때 호출됨. | 
| OnAddedBlockTag | GameplayTagEventHandler | 차단 태그가 부여될 때 호출됨. | 
| OnSubtractedblockTag | GameplayTagEventHandler | 차단 태그가 제거될 때 호출됨. | 
| OnAddedNewBlockTag | GameplayTagEventHandler | 차단 태그가 부여되고, 해당 태그 부여수가 1일 때 호출됨. | 
| OnRemovedBlockTag | GameplayTagEventHandler | 차단 태그가 제거되고, 해당 태그 부여수가 0일 때 호출됨. | 
| OnTriggeredTag | GameplayTagEventHandler | 태그를 부여, 제거하지 않고, 단순히 Trigger 했을 때 호출됨. | 
| Name | Value | Summary | 
|---|---|---|
| _InitializationTags | FGameplayTag | 초기화시 부여되는 태그. | 
| _OwnedTags | Dictionary<GameplayTag, int> | 보유 태그 | 
| _BlockTags | Dictionary<GameplayTag, int> | 차단 태그 | 
| Name | Value | Summary | 
|---|---|---|
| Setup() | void | 초기 설정. | 
| OnSetup() | virtual void | Setup() 실행시 실행. | 
| OnReset() | virtual void | ResetGameplayTagSystem() 실행시 실행. | 
| ContainTag(IReadOnlyDictionary | ||
| <GameplayTag, int>, GameplayTag) | bool | Dictionary에 해당 GameplayTag가 있는지 확인. | 
| ContainAllTags | ||
| (IReadOnlyDictionary<GameplayTag, int>, | ||
| GameplayTag[]) | bool | Dictionary에 GameplayTag[] 가 모두 존재하는 지 확인. | 
| ContainAllTags | ||
| (IReadOnlyDictionary<GameplayTag, int>, | ||
| IReadOnlyCollection<GameplayTag>) | bool | Dictionary에 GameplayTag[] 가 모두 존재하는 지 확인. | 
| ContainAnyTags | ||
| (IReadOnlyDictionary<GameplayTag, int>, | ||
| GameplayTag[]) | bool | Dictionary에 GameplayTag[] 가 하나라도 존재하는 지 확인. | 
| ContainAnyTags | ||
| (IReadOnlyDictionary<GameplayTag, int>, | ||
| IReadOnlyCollection<GameplayTag>) | bool | Dictionary에 GameplayTag[] 가 하나라도 존재하는 지 확인. | 
| Callback_OnTriggerTag(GameplayTag) | void | OnTriggeredTag 의 CallBack. | 
| Callback_OnAddedOwnedTag(GameplayTag) | void | OnAddedOwnedTag 의 CallBack. | 
| Callback_OnSubtractedOwnedTag(GameplayTag) | void | OnSubtractedOwnedTag 의 CallBack. | 
| Callback_OnGrantedOwnedTag(GameplayTag) | void | OnGrantedOwnedTag의 CallBack. | 
| Callback_OnRemovedOwnedTag(GameplayTag) | void | OnRemovedOwnedTag의 CallBack. | 
| Callback_OnAddedBlockTag(GameplayTag) | void | OnAddedBlockTag의 CallBack. | 
| Callback_OnSubtractedBlockTag(GameplayTag) | void | OnSubtractedBlockTag 의 CallBack. | 
| Callback_OnGrantedBlockTag(GameplayTag) | void | OnGrantedBlockTag의 CallBack. | 
| Callback_OnRemovedBlockTag(GameplayTag) | void | OnRemovedBlockTag 의 CallBack. |