2022-07-11 12:58:26 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2021-10-29 04:33:21 -04:00
|
|
|
|
|
|
|
|
#include "StateTreeCompilerLog.h"
|
2022-10-19 06:39:08 -04:00
|
|
|
#include "IMessageLogListing.h"
|
2021-10-29 04:33:21 -04:00
|
|
|
#include "Misc/UObjectToken.h"
|
2022-10-19 06:39:08 -04:00
|
|
|
#include "StateTreeState.h"
|
2021-10-29 04:33:21 -04:00
|
|
|
|
2022-09-28 01:06:15 -04:00
|
|
|
#include UE_INLINE_GENERATED_CPP_BY_NAME(StateTreeCompilerLog)
|
|
|
|
|
|
2021-10-29 04:33:21 -04:00
|
|
|
#define LOCTEXT_NAMESPACE "StateTreeEditor"
|
|
|
|
|
|
|
|
|
|
void FStateTreeCompilerLog::AppendToLog(IMessageLogListing* LogListing) const
|
|
|
|
|
{
|
|
|
|
|
for (const FStateTreeCompilerLogMessage& StateTreeMessage : Messages)
|
|
|
|
|
{
|
|
|
|
|
TSharedRef<FTokenizedMessage> Message = FTokenizedMessage::Create((EMessageSeverity::Type)StateTreeMessage.Severity);
|
|
|
|
|
|
|
|
|
|
if (StateTreeMessage.State != nullptr)
|
|
|
|
|
{
|
|
|
|
|
Message->AddToken(FUObjectToken::Create(StateTreeMessage.State, FText::FromName(StateTreeMessage.State->Name)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StateTreeMessage.Item.ID.IsValid())
|
|
|
|
|
{
|
|
|
|
|
Message->AddToken(FTextToken::Create(FText::Format(LOCTEXT("LogMessageItem", " {0}"), FText::FromName(StateTreeMessage.Item.Name))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!StateTreeMessage.Message.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
Message->AddToken(FTextToken::Create(FText::FromString(StateTreeMessage.Message)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LogListing->AddMessage(Message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-13 06:32:28 -04:00
|
|
|
void FStateTreeCompilerLog::DumpToLog(const FLogCategoryBase& Category) const
|
|
|
|
|
{
|
|
|
|
|
for (const FStateTreeCompilerLogMessage& StateTreeMessage : Messages)
|
|
|
|
|
{
|
|
|
|
|
FString Message;
|
|
|
|
|
|
|
|
|
|
if (StateTreeMessage.State != nullptr)
|
|
|
|
|
{
|
|
|
|
|
Message += FString::Printf(TEXT("State '%s': "), *StateTreeMessage.State->Name.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StateTreeMessage.Item.ID.IsValid())
|
|
|
|
|
{
|
|
|
|
|
Message += FString::Printf(TEXT("%s '%s': "), *UEnum::GetDisplayValueAsText(StateTreeMessage.Item.DataSource).ToString(), *StateTreeMessage.Item.Name.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Message += StateTreeMessage.Message;
|
|
|
|
|
|
|
|
|
|
switch (StateTreeMessage.Severity)
|
|
|
|
|
{
|
|
|
|
|
case EMessageSeverity::Error:
|
|
|
|
|
UE_LOG_REF(Category, Error, TEXT("%s"), *Message);
|
|
|
|
|
break;
|
|
|
|
|
case EMessageSeverity::PerformanceWarning:
|
|
|
|
|
case EMessageSeverity::Warning:
|
|
|
|
|
UE_LOG_REF(Category, Warning, TEXT("%s"), *Message);
|
|
|
|
|
break;
|
|
|
|
|
case EMessageSeverity::Info:
|
|
|
|
|
default:
|
|
|
|
|
UE_LOG_REF(Category, Log, TEXT("%s"), *Message);
|
|
|
|
|
break;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-29 04:33:21 -04:00
|
|
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|
2022-09-28 01:06:15 -04:00
|
|
|
|