→ API

Summary

보유 및 차단된 GameplayTag를 관리하는 컴포넌트.

Remarks

GameplayTag를 Dictionary<GameplayTag, int> 형태로 저장하여 관리함.

보유 태그와 차단 태그가 각각 존재하고, int 의 값이 0이면 없는 태그로서 취급함.

GameplayTag 가 추가되면 OnAddedTag 가 호출되고, 추가된 GameplayTag 의 값이 1일 경우 OnNewAddedTag도 호출됨.

GameplayTag 가 제거되면 OnSubtractedTag 가 호출되고, 제거된 GameplayTag 값이 0이라면 OnRemoveTag가 호출됨.

Public Properties

Name Value Summary
OwnedTags IReadOnlyDictionary
<GameplayTag, int> 보유하고 있는 태그.
_WasSetup 이 false 면 Setup()을 실행함.
BlockTags IReadOnlyDictionary
<GameplayTag, int> 차단되어 있는 태그.
_WasSetup 이 false 면 Setup()을 실행함.

Public Methods

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> 중 하나라도 차단하고 있는지 확인함.

Delegate

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 했을 때 호출됨.

Protected Properties

Name Value Summary
_InitializationTags FGameplayTag 초기화시 부여되는 태그.
_OwnedTags Dictionary<GameplayTag, int> 보유 태그
_BlockTags Dictionary<GameplayTag, int> 차단 태그

Protected Methods

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.