위젯 블루프린트 훅
SML3.5에서 도입된 위젯 블루프린트 훅은 맞춤 위젯을 기존 게임 위젯 중 하나에 추가하는 데 사용할 수 있습니다.
SML에서 이 기능은 메인 메뉴와 일시 정지 메뉴에 'Mods' 버튼을 추가하는 데 사용됩니다.
모드는 게임 인스턴스 모듈에서 위젯 블루프린트 훅을 정의할 수 있습니다.
이 기능이 플레이어의 HUD에 적용된 예시는 시작 프로젝트와 함께 제공되는 예제 모드에서 확인할 수 있습니다.
시스템은 위젯 아키타입 수준에서 작동하므로, 여러분의 위젯은 게임 애셋에 완전히 통합됩니다. 슬롯 속성과 위젯 설정에 대한 완전한 제어를 가집니다.
위젯 블루프린트 훅과 유사한 효과는 위젯의 생성자를 후킹하여 (예를 들어, BPFunction 'Construct’에서 바인딩을 사용하여) 블루프린트 코드로 위젯을 수동으로 추가함으로써 달성할 수 있지만, 이 시스템은 더 간단하고 편리한 방법을 제공합니다. |
유용한 블루프린트 노드
SML은 위젯 블루프린트 훅 작업을 더 깔끔하고 쉽게 만들어주는 몇 가지 유틸리티 함수를 제공합니다.
에디터의 '블루프린트에서 찾기' 기능을 사용하여 SML 내에서 사용 예제를 검색할 수 있습니다.
여기서는 노드의 목적에 대한 간단한 설명만 제공됩니다.
노드의 툴팁이나 SMLBlueprintWidgetLibrary.h
헤더 파일에서 더 많은 정보를 읽어보십시오.
클래스의 부모 위젯 찾기
제공된 위젯의 외부 계층을 탐색하고 제공된 클래스로 형변환할 수 있는 첫 번째 위젯을 찾으려고 시도하며, 이를 반환합니다.
특히 다른 위젯에 주입된 위젯의 경우, 부모 위젯 트리에서 추가 수정이나 추가 데이터를 수집하기 위해 작동하는 것이 유용합니다.
이것은 여러분이 예상하는 부모 위젯에 대해 매우 명확한 지식을 가지고 있을 때만 사용해야 합니다.
클래스의 자식 위젯 찾기
제공된 위젯 트리에 의해 소유되는 모든 직접 및 잠재적으로 간접적인 위젯을 탐색하고 제공된 클래스와 일치하는 모든 위젯을 찾으려고 시도합니다.
예를 들어, 구현을 수정할 수 없는 위젯의 자식에 대해 작업하는 데 유용합니다.
이것은 위젯 트리에 대한 매우 명확한 지식을 가지고 있을 때만 사용해야 하며, 바인딩 및 명명된 슬롯을 사용하여 구현을 제어할 수 있을 때 이 기능을 구현해야 합니다.
검색 과정은 자식 사용자 위젯의 샌드박스를 뚫고 들어갈 수 없으므로, 이러한 자식 위젯에서 이 함수에 대한 호출을 연결하거나 가장 가까운 자식 위젯을 전달해야 합니다. 이러한 상황의 예로는 명명된 슬롯의 콘텐츠나 다른 사용자 위젯을 사용하는 위젯이 포함됩니다. |