43 lines
1.4 KiB
C++
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;
|
|
};
|