Files

34 lines
941 B
C++
Raw Permalink Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "IRewindDebugger.h"
#include "IRewindDebuggerDoubleClickHandler.h"
#include "IRewindDebuggerExtension.h"
#include "IRewindDebuggerTrackCreator.h"
#include "IRewindDebuggerViewCreator.h"
#include "UObject/NameTypes.h"
Adds ability to watch properties in Rewind Debugger. (Property Watch Track) **New** - Added `FPropertiesTrack` as the root track that handles the watched properties via Rewind Debugger. - Added `FPropertyTrack` used to for watched property tracks via Rewind Debugger. - Added `FPropertyWatchManager` used to keep track of watched traced properties. - Added `FPropertyTracks` type specializations:`FBoolPropertyTrack` and `FNumericPropertyTrack`. - Added `ReadObjectPropertiesStorage` method in `IGameplayProvider`. Used to access container where traced object properties are stored. - Added `FindPropertyValueFromStorageIndex` method in `IGameplayProvider`. Used to access a traced property given its id. - Added context menu building support via `FPropertyTrack` and `SPropertiesDebugViewBase`. - Added a delegate for mouse button down on an `SVariantValueView`. - Added `SPropertyTrackView` to show a single `FPropertyTrack` variable information in the Rewind Debugger details panel. - Improved traced property variables displaying. Friendly display names. Specialization for bools, vector, vector2d and quaternions. - Added a log category for Rewind Debugger. `LogRewindDebugger`. **Changed** - Updated `FObjectPropertyValue` to keep track of its unique name id, and unique parent id. - Updated `FRewindDebugger` to handle menu registration for `ComponentContextMenu`. - Updated `FVariantTreeNode` to support storing a trace property id. Used for details context menu to support having a menu entry to watch property. - Updated `SPropertiesDebugViewBase` to have the ability to create a context menu. - Updated `SObjectPropertiesView` to better display traced properties. - Updated object property tracing to handle updated `FObjectPropertyValue`. Create unique named ids for properties. - Updated `FGameAnalyzer` to handle new version of `FObjectPropertyValue`. - Updated `FRewindDebuggerTrack` to support a building context menu. - Updated `UComponentContextMenuContext` to stored the current Rewind Debugger selected track. **Removed** - Removed usage of `FObjectPropertiesViewCreator`. Now using `FPropertiesTrackCreator`. #jira UE-159126 #preflight 634f0394dd0d2ceafae78188 [CL 22610498 by roland munguia in ue5-main branch]
2022-10-18 16:44:57 -04:00
DEFINE_LOG_CATEGORY(LogRewindDebugger)
const FName IRewindDebuggerExtension::ModularFeatureName = "RewindDebuggerExtension";
const FName IRewindDebuggerViewCreator::ModularFeatureName = "RewindDebuggerViewCreator";
const FName IRewindDebuggerDoubleClickHandler::ModularFeatureName = "RewindDebuggerDoubleClickHandler";
namespace RewindDebugger
{
const FName IRewindDebuggerTrackCreator::ModularFeatureName = "RewindDebuggerTrackCreator";
}
IRewindDebugger* IRewindDebugger::InternalInstance = nullptr;
IRewindDebugger::~IRewindDebugger()
{
}
IRewindDebugger::IRewindDebugger()
{
}
IRewindDebugger* IRewindDebugger::Instance()
{
return InternalInstance;
}