#pragma once

#include "CoreMinimal.h"
#include "WingNotifier.generated.h"

// Tracks objects that have been touched during an editing operation.
// Handles PreEditChange/PostEditChange, ReconstructNode, and other
// notifications that need to happen after modifications.
//
USTRUCT()
struct FWingNotifier
{
	GENERATED_BODY()

	void AddTouchedObject(UObject* Obj);
	void SendNotifications();

private:
	UPROPERTY()
	TSet<TObjectPtr<UObject>> TouchedSet;

	UPROPERTY()
	TArray<TObjectPtr<UObject>> TouchedArray;
};
