Files
UnrealEngineUWP/Engine/Plugins/Runtime/StateTree/Source/StateTreeEditorModule/Private/StateTreeCompilerLog.cpp
mikko mononen 2a832bdbd6 StateTree: humble beginnings of compiler message log.
- added message log to StateTree editor
- added statistics window to StateTree editor
- converted baker and property copy to use compiler log instead of UE_LOG

#jira none

#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 17975651 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17975665 by mikko mononen in ue5-release-engine-test branch]
2021-10-29 04:37:57 -04:00

38 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "StateTreeCompilerLog.h"
#include "StateTreeState.h"
#include "Developer/MessageLog/Public/IMessageLogListing.h"
#include "Misc/UObjectToken.h"
#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);
}
}
#undef LOCTEXT_NAMESPACE