代码改变世界

ue4弹框

2019-11-21 15:51  kk20161206  阅读(763)  评论(0)    收藏  举报
EAppReturnType::Type HangAnswer = FMessageDialog::Open(EAppMsgType::YesNo, Message, &MessageTitle);

		if (HangAnswer == EAppReturnType::Yes)
		{
			UE_LOG(UnrealWatchdogLog, Log, TEXT("User confirmed hang"));
			HangResponse = TEXT("Confirmed");

			FText RecoveredMessage(LOCTEXT("WatchdogPopupRecoveredMessage", "Has the application recovered?"));

			EAppReturnType::Type RecoveredAnswer = FMessageDialog::Open(EAppMsgType::YesNo, RecoveredMessage, &MessageTitle);

			if (RecoveredAnswer == EAppReturnType::Yes)
			{
				UE_LOG(UnrealWatchdogLog, Log, TEXT("User confirmed recovery from hang"));
				RecoveredResponse = TEXT("Recovered");
			}
			else
			{
				UE_LOG(UnrealWatchdogLog, Log, TEXT("User confirmed hang not yet recovered"));
				RecoveredResponse = TEXT("NotRecovered");
			}

			FText CRCMessage(LOCTEXT("WatchdogPopupHangCRCMessage", "We will now open the Crash Reporter for you to tell us what happened."));
			FMessageDialog::Open(EAppMsgType::Ok, CRCMessage, &MessageTitle);

			FString EnsureText = FString::Printf(TEXT("Watchdog detected hang in %s."), *SessionLabel.ToString());
			ReportInteractiveEnsure(*EnsureText);
		}
		else  // HangAnswer == EAppReturnType::No
		{
			UE_LOG(UnrealWatchdogLog, Warning, TEXT("User didn't witness hang. False positive warning!"));
			HangResponse = TEXT("False");
			RecoveredResponse = TEXT("N/A");
		}

  参考这块就好。引入FMessageDialog的头文件。