본문 바로가기

블루프린팅/4. 블루프린트 통신

Disipatch Deligation Design Pattern Oberver

총을 쏘면 적이 맞고 전 에너미의 개수가 Widget UI에서 줄어들고 1이되면 즉 자기만 남으면 문이 열리게 해보겠다.

일단 BP_ThirdPersonCharacter에 AddCustomerEvent를 한후 앞쪽 노드들은 Die의 입력은

 

 

위젯을 하나만들고 text_enemy라는 UI를 만들자. 이전에 만든거에 추가했는데 Enemy만 있으면됨 변수로 체크해주고

UI가 만들어질때 BP_ThirdPerson의 갯수를 세서 text_Enemy에 업데이트하고

모든 ThirdPersonCharacter의 OnDeath Dispatcher(Deligation)을 등록해준다 Call이 생기면 DecreaseEnemyCnt 이벤트가 실행된다.

 

이제 문을 하나 만들자. Frame과Door는 StaticMesh이고 기본 문틀과 문을 지정하한다.

블루프린트에 문을 여는 로직을 꾸며준다.

레벨블루프린트로가 아까와 마찬가지로 BP_Enemy의 개수를 놓고 BP_Enemy의 OnDeath Call을 Bind해 하나씩 빼다가  0이 되면 BP_Door의 OpenDoor함수를 실행한다.

 

 

 

https://youtu.be/YFtLd-bKl-U