Files
UnrealEngine/Engine/Source/Editor/UnrealEd/Classes/Animation/EditorNotifyObject.h
2025-05-18 13:04:45 +08:00

43 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
//////////////////////////////////////////////////////////////////////////
// Proxy object for displaying notifies in the details panel with
// event data included alongside UAnimNotify
//////////////////////////////////////////////////////////////////////////
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Animation/AnimTypes.h"
#include "Animation/EditorAnimBaseObj.h"
#include "EditorNotifyObject.generated.h"
UCLASS(MinimalAPI)
class UEditorNotifyObject : public UEditorAnimBaseObj
{
GENERATED_UCLASS_BODY()
/** Set up the editor object
* @param InNotify The notify to modify
*/
virtual void InitialiseNotify(const FAnimNotifyEvent& InNotify);
/** Copy changes made to the event object back to the montage asset */
virtual bool ApplyChangesToMontage() override;
virtual bool PropertyChangeRequiresRebuild(FPropertyChangedEvent& PropertyChangedEvent) override;
/** The notify event to modify */
UPROPERTY(EditAnywhere, Category=Event)
FAnimNotifyEvent Event;
/**
* Query and cache the generated notify name.
* @return true if the name changed from previous cached value.
*/
bool TryToCacheNotifyName();
/** Used to determine if we should rebuild the notify ui when its properties are changed. If it affects the name is the exception and a rebuild will be kicked. */
FName CachedNotifyName;
};