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

56 lines
1.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Widgets/SCompoundWidget.h"
class IStaticMeshEditor;
class UStaticMeshSocket;
class ISocketManager : public SCompoundWidget
{
public:
/** Retrieves the first selected socket. */
UE_DEPRECATED(5.6, "GetSelectedSocket is deprecated, use GetSelectedSockets instead.")
virtual UStaticMeshSocket* GetSelectedSocket() const = 0;
/** Retrieves the selected socket. */
virtual TArray<UStaticMeshSocket*> GetSelectedSockets() const = 0;
/** Returns true if at least one socket is selected. */
virtual bool HasSelectedSockets() const = 0;
/** Sets the selected socket. */
virtual void SetSelectedSocket(UStaticMeshSocket* InSelectedSocket) = 0;
/** Adds a socket to the already selected ones. */
virtual void AddSelectedSocket(UStaticMeshSocket* InSelectedSocket) = 0;
/** Removes a given socket from the current selection. */
virtual void RemoveSelectedSocket(const UStaticMeshSocket* InSelectedSocket) = 0;
/** Deletes the first selected socket. */
UE_DEPRECATED(5.6, "DeleteSelectedSocket is deprecated, use DeleteSelectedSockets instead.")
virtual void DeleteSelectedSocket() = 0;
/** Deletes the selected sockets. */
virtual void DeleteSelectedSockets() = 0;
/** Duplicate the first selected socket. */
UE_DEPRECATED(5.6, "DuplicateSelectedSocket is deprecated, use DuplicateSelectedSockets instead.")
virtual void DuplicateSelectedSocket() = 0;
/** Duplicate the selected sockets. */
virtual void DuplicateSelectedSockets() = 0;
/** Request a rename on the selected socket */
virtual void RequestRenameSelectedSocket() = 0;
/** Updates the StaticMesh currently being edited */
virtual void UpdateStaticMesh() = 0;
/** Creates a socket manager instance. */
UNREALED_API static TSharedPtr<ISocketManager> CreateSocketManager(TSharedPtr<class IStaticMeshEditor> InStaticMeshEditor, FSimpleDelegate InOnSocketSelectionChanged );
};