Blueprint 스크립팅 API 소개

Strix Unreal SDK에는 Blueprint 스크립팅 API가 있습니다. 이 페이지에서는 일반 유의사항을 요약하여 설명합니다.

네트워크 운영 함수

Strix 함수 중에는 통신이 끝나기를 기다려야 하는 네트워크 운영을 동반하는 것이 많습니다. Strix는 이벤트 중심 설계로 이 문제를 극복합니다.

sequenceDiagram participant A as Blueprint participant B as SDK 라이브러리 participant C as 서버 A ->> + B : 함수 호출 B ->> + C : 서버에 요청 B -->> - A : 함수가 반환 C ->> C : 서버 측 처리 C -->> + B : 서버로부터의 응답 deactivate C B -->> - A : 콜백

아래에서 보듯이, Strix 함수의 Blueprint 노드(이 보기에서는 "Search Joinable Room")에는 데이터 아웃풋 핀이 없을 때가 많지만, 알맞은 커스텀 이벤트 노드와 연결되는 델리게이트 핀이 두 개(Success CallbackFailure Callback) 있습니다.

Blueprint node of a typical Strix function

함수 노드를 실행할 차례가 되면 실행은 네트워크 운영 완료 전에 다음 노드까지 이어집니다. 아직까지 이용할 수 있는 아웃풋 데이터는 없습니다.

후에, 네트워크 운영이 끝나면 두 콜백 델리게이트 중 하나가 발급됩니다. 운영이 성공한 경우 Success Callback이, 실패한 경우 Failure Callback이 발급되며, 그 결과 상응하는 커스텀 이벤트가 Blueprint에 트리거됩니다. 로지컬하게 네트워크 운영에서 나오는 아웃풋은 상응하는 커스텀 이벤트 노드에서 이용할 수 있으며, 그 커스텀 노드에서 계속 실행하여 네트워크 운영 후 필요한 추가 처리를 할 수 있습니다.

위 Blueprint 보기에서, Rooms Found 커스텀 이벤트 노드(Strix의 스트럭트 배열)에 있는 방은 검색 동작의 결과이며, 찾은 방으로 하고 싶은 처리가 있다면 찾은 방 커스텀 이벤트에서 실행 핀과 연결됩니다.

퀵스타트Strix Unreal Sample에서 Success CallbackFailure Callback의 예를 많이 볼 수 있습니다.