본문 바로가기

Unreal

[Unreal] Lyra 프로젝트 분석 - 10. GamePlayCue

GamePlayCue

능력을 사용했을 때 나타나는 이펙트 (연기, 출혈, 파편 등)

GamePlayCueManager에서 게임플레이태그로 GamePlayCueNotify를 실행한다.

그러기 위해서 에셋처럼 GamePlayCueNotify(이하 GCN)를 스캔해야 한다.

 

GameFeatureAction_AddGameplayCuePath

Directory의 GCN을 스캔한다.

IGameFeatureStateChangeObserver을 상속

옵저버는 Path를 등록해놓고 GameFeature가 등록되거나 해제될 때마다 알려줌


GameplayFeaturePolicy

GameFeatureAction_AddGameplayCuePath를 Observer에 등록한다

 

OnGameFeatureRegistering

GameFeatureData 중 AddGameplayCuePath가 있으면 경로를 가져온다.

경로를 GameplayCueManager의 AddGameplayCueNotifyPath로 경로를 추가한다.

RefreshGameplayCuePrimaryAsset으로 GCN을 에셋 매니저에 등록

 

RefreshGameplayCuePrimaryAsset

이펙트는 서버에서 전혀 필요하지 않은 자원이기 때문에 

AddBundleAssetsTruncated의 매개변수로 Client를 넣어 클라이언트에서만 로딩하도록 한다.