Files
UnrealEngineUWP/Engine/Plugins/Runtime/StateTree/Source/StateTreeModule/Public/StateTreeDelegates.h
guillaume arruda 4f79176477 Add compile in StateTree PostLoad and compile on PIE begin to state tree so that the trees are never out of sync with the editor state in game
Add validation warning if the state tree is not compiled to prevent uncompiled state tree to be submitted
#rb mikko.mononen

[CL 33001894 by guillaume arruda in ue5-main branch]
2024-04-16 11:14:34 -04:00

78 lines
3.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Delegates/Delegate.h"
class UStateTree;
namespace UE::StateTree::Delegates
{
#if WITH_EDITOR
/** Called when linkable name in a StateTree has changed. */
DECLARE_MULTICAST_DELEGATE_OneParam(FOnIdentifierChanged, const UStateTree& /*StateTree*/);
extern STATETREEMODULE_API FOnIdentifierChanged OnIdentifierChanged;
/**
* Called when schema of the StateTree EditorData has changed.
* This is used to refresh the asset editor.
* Note that this is NOT called when updating the StateTree schema from the EditorData on successful compilation.
*/
DECLARE_MULTICAST_DELEGATE_OneParam(FOnSchemaChanged, const UStateTree& /*StateTree*/);
extern STATETREEMODULE_API FOnSchemaChanged OnSchemaChanged;
/**
* Called when parameters of the StateTree EditorData changed.
* This should mainly used by the asset editor to maintain consistency in the UI for manipulations on the EditorData
* until the tree gets compiled.
*/
DECLARE_MULTICAST_DELEGATE_OneParam(FOnParametersChanged, const UStateTree& /*StateTree*/);
extern STATETREEMODULE_API FOnParametersChanged OnParametersChanged;
/**
* Called when parameters of a StateTree State changed.
* This should mainly used by the asset editor to maintain consistency in the UI for manipulations.
*/
DECLARE_MULTICAST_DELEGATE_TwoParams(FOnStateParametersChanged, const UStateTree& /*StateTree*/, const FGuid /*StateID*/);
extern STATETREEMODULE_API FOnStateParametersChanged OnStateParametersChanged;
/**
* Called when Global Tasks or Evaluators of the StateTree EditorData changed.
* This should mainly used by the asset editor to maintain consistency in the UI for manipulations on the EditorData.
*/
DECLARE_MULTICAST_DELEGATE_OneParam(FOnGlobalDataChanged, const UStateTree& /*StateTree*/);
extern STATETREEMODULE_API FOnGlobalDataChanged OnGlobalDataChanged;
/**
* Called when breakpoints of the StateTree EditorData changed.
* This should mainly used by the asset editor to update the debugger.
*/
DECLARE_MULTICAST_DELEGATE_OneParam(FOnBreakpointsChanged, const UStateTree& /*StateTree*/);
extern STATETREEMODULE_API FOnBreakpointsChanged OnBreakpointsChanged;
/** Called when compilation succeeds */
DECLARE_MULTICAST_DELEGATE_OneParam(FOnPostCompile, const UStateTree& /*StateTree*/);
extern STATETREEMODULE_API FOnPostCompile OnPostCompile;
/** Request StateTree compilation. Works only in editor. */
DECLARE_DELEGATE_RetVal_OneParam(bool, FOnRequestCompile, UStateTree& /*StateTreeToCompile*/);
extern STATETREEMODULE_API FOnRequestCompile OnRequestCompile;
/** Request the editor hash of the given state tree. */
DECLARE_DELEGATE_RetVal_OneParam(uint32, FOnRequestEditorHash, const UStateTree& /*StateTreeToHash*/);
extern STATETREEMODULE_API FOnRequestEditorHash OnRequestEditorHash;
#endif // WITH_EDITOR
#if WITH_STATETREE_DEBUGGER
/** Called by the StateTree module when StateTree traces are enabled/disabled. */
DECLARE_MULTICAST_DELEGATE_OneParam(FOnTracingStateChanged, bool /*bTracesEnabled*/);
extern STATETREEMODULE_API FOnTracingStateChanged OnTracingStateChanged;
#endif // WITH_STATETREE_DEBUGGER
}; // UE::StateTree::Delegates