// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Messaging/CommonMessagingSubsystem.h" #include "Templates/SubclassOf.h" #include "UObject/SoftObjectPtr.h" #include "UObject/UObjectGlobals.h" #include "LyraUIMessaging.generated.h" class FSubsystemCollectionBase; class UCommonGameDialog; class UCommonGameDialogDescriptor; class UObject; /** * */ UCLASS() class ULyraUIMessaging : public UCommonMessagingSubsystem { GENERATED_BODY() public: ULyraUIMessaging() { } virtual void Initialize(FSubsystemCollectionBase& Collection) override; virtual void ShowConfirmation(UCommonGameDialogDescriptor* DialogDescriptor, FCommonMessagingResultDelegate ResultCallback = FCommonMessagingResultDelegate()) override; virtual void ShowError(UCommonGameDialogDescriptor* DialogDescriptor, FCommonMessagingResultDelegate ResultCallback = FCommonMessagingResultDelegate()) override; private: UPROPERTY() TSubclassOf ConfirmationDialogClassPtr; UPROPERTY() TSubclassOf ErrorDialogClassPtr; UPROPERTY(config) TSoftClassPtr ConfirmationDialogClass; UPROPERTY(config) TSoftClassPtr ErrorDialogClass; };