GameplayTag

ScriptableObject 를 상속받은 오브젝트. 아무런 기능없이 단순히 래퍼런스로서만 사용됨.

GameplayTagSystemComponent

GameplayTag 를 Dictionary<GameplayTag, int> 형태로 보유 목록과 차단 목록으로 저장해놓는 Component.

GameplayTag가 추가, 제거될 때 이벤트를 호출하며, GameplayTag의 보유 여부를 확인할 수 있음.

이벤트는 GameplayTag의 추가 및 제거의 4가지 경우와 단순히 트리거 하는 경우로 호출함

GameplayTag가 추가되면 OnAddedTag 를 기본으로 호출함. 만약 해당하는 목록에 GameplayTag를 확인하여 보유하지 않거나, 현재 해당하는 값이 0일 경우면 OnGrantedTag를 추가로 호출한다.

GameplayTag가 추가되면 OnSubtractTag 를 기본으로 호출함. 만약 해당하는 목록에 GameplayTag를 확인하여 보유하지 않거나, 현재 해당하는 값이 1일 경우면 OnRemovedTag를 추가로 호출한다.

이처럼 GameplayTag가 추가, 제거됨에 따라 발생하는 이벤트에 할당하여 다른 기능의 작동 등을 컨트롤 할 수 있음.

GameplayTag 의 보유 여부를 아래의 3가지 방법으로 반환함.