ESlateVisiblity

  • 위젯을 모니터상의 출력여부에 대한 상태를 제어할 때 사용하는 열거형
  • SetVisibility(ESlateVisibility InVisibility) : 현재 위젯의 상태를 변경할 때
  • GetVisibility() : 현재 위젯의 상태를 확인할 때 (Return ESlateVisibility Visibility)
  • 위젯 애니메이션 블렌딩의 경우
  • 마우스 입력 또는 키보드 입력값을 받을 수 있는지에 대한 여부 결정시

 

 

ESlateVisibility - SlateWrapperTypes.h

/** Is an entity visible? */
UENUM(BlueprintType)
enum class ESlateVisibility : uint8
{
	/** Visible and hit-testable (can interact with cursor). Default value. */
	Visible,
	/** Not visible and takes up no space in the layout (obviously not hit-testable). */
	Collapsed,
	/** Not visible but occupies layout space (obviously not hit-testable). */
	Hidden,
	/** Visible but not hit-testable (cannot interact with cursor) and children in the hierarchy (if any) are also not hit-testable. */
	HitTestInvisible UMETA(DisplayName = "Not Hit-Testable (Self & All Children)"),
	/** Visible but not hit-testable (cannot interact with cursor) and doesn't affect hit-testing on children (if any). */
	SelfHitTestInvisible UMETA(DisplayName = "Not Hit-Testable (Self Only)")
};

 

  • Visible
    • SetVisibility 설정하지 않을 경우의 기본값
    • 화면에 출력되며 마우스 클릭 및 터치 등의 인터렉션이 가능하다.
    • 일반적으로 위젯이 열려있으며, 버튼, 텍스트 등의 인터렉션이 필요하 경우 (우편함, 로비 플레이 버튼 등)
  • Collapsed
    • 화면에 출력되지 않으며 레이아웃에서 공간을 차지하지 않는 형태
    • 라운드 시작시 상호작용하지 못하는 위젯들 (상점 등)
  • Hidden
    • 화면에 출력되지 않으며 레이아웃에서 공간을 차지하는 형태
    • 플레이어 이름표 애니메이션 처리 또는 레이아웃 위치를 유지해야하는 경우
  • HitTestInvisible
    • 화면에 출력되지만 인터렉션이 불가능하며, Child에게도 적용된다.
    • 화면 전체에 덮인 오버레이의 경우 (대쉬 이펙트, 블러드 이펙트 등)
  • SelfHitTestInvisible
    • 화면에 출력되지만 인터렉션이 불가능한 형태. Child 위젯들에게는 적용되지 않는다.
    • 듀토리얼에서의 특정 버튼의 활성화의 경우

 

+ Recent posts