๐
2025-09-10
GAS: GameplayTag / GameplayCueGameplayTag๋ฌธ์์ด ๊ธฐ๋ฐ์ ๊ณ์ธต์ ๋ผ๋ฒจ ์์คํ
ํน์ง
1. ๊ณ์ธต ๊ตฌ์กฐ: ํธ๋ฆฌ ํํ (ex HUD.Slot.Reticle, HUD.Slot.Equipment)
2. ์์ ๊ฒ์: ์์ํ๊ทธ๋ก ํ์ํ๊ทธ ๊ฒ์
3. ์ปจํ
์ด๋ ๊ธฐ๋ฐ : ์ฌ๋ฌ ํ๊ทธ ๋์์ ๋ณด์ ๊ฐ๋ฅ
4. ์๋ํฐ ํตํฉ : ์๋์์ฑ, ๊ฒ์ฆ, ๊ด๋ฆฌ ๋๊ตฌ ์ ๊ณต
ํ๊ทธ ๋งค์นญ ์ข
๋ฅ
1. Exact Match
ํ์ ๋งค์น๋ ์ฐพ์ง ์์
2. Partial Match
๋ถ๋ถ ์ผ์น ๊ฒ์. ์์ ํ๊ทธ๋ก ํ์ ํ๊ทธ๋ฅผ ๊ฒ์
3. Container Match
์ปจํ
์ด๋ ์ผ์น. ์ฌ๋ฌ ํ๊ทธ๋ฅผ ๋์์ ๊ฒ์
๋ด๋ถ ๊ตฌ์กฐ
struct FGameplayTag
{
FName TagName; // ํด์ ๊ธฐ๋ฐ ๋น ๋ฅธ ๋น๊ต
};
struct FGameplayTagContainer
{
TArray<FGameplayTag> GameplayTags;
TArray<FGameplayTag> ParentTags; // ๋ฏธ๋ฆฌ ๊ณ์ฐ๋ ๋ถ๋ชจ ํ๊ทธ๋ค
};
ParentTags.Add("Status");
ParentTags.Add("Status.Debuff");
ParentTags.Add("Status.Debuff.Frozen");
GameplayCue๊ฒ์์ ๋ก์ง๊ณผ ์ฐ์ถ์ ๋ถ๋ฆฌํ๊ณ ํ๊ทธ๋ก ์ฐ๊ฒฐ
GA ์คํ ์ ํ๊ทธ๋ก ํ ์คํ. ๊ฐ์ ํ๊ทธ๋ฅผ ๊ฐ๋ ํ๋ ๋์ ์คํ๋๋ค.
ํ์
WhileActive์์ false๋ฅผ ๋ฆฌํดํ๋ฉด OnRemove ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ฌ ํ ์ข ๋ฃํ ์ ์๋ค.
๋์ ์ฐ์ถ
ํ ์คํ์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ์ฌ ๋์ ์ฐ์ถ ๊ฐ๋ฅ
๋คํธ์ํฌ ๋๊ธฐํ
Local Cue: ๋ก์ปฌ ์ ์ฉ (ExecuteGameplayCueLocal)
Replicated Cue: ๋คํธ์ํฌ ๋ณต์ (ExecuteGameplayCue)
ํด๋์ค ๊ณ์ธต
1. static
์กํฐ๋ฅผ ์์ฑํ์ง์์. ๊ฐ๋ฒผ์. OnExecute๋ง ๊ฐ๋ฅ
2. actor
๋ณต์กํ ์ฐ์ถ. ์กํฐ ์์ฑ. ์ํ ์ ์ง ๊ฐ๋ฅ
์ถ์ฒ: ์คํ๋ฅดํ์ฝ๋ฉ ๋ด์ผ๋ฐฐ์์บ ํ