Files
UnrealEngineUWP/Engine/Plugins/Runtime/GameFeatures/Source/GameFeaturesEditor/Private/GameFeatureDataDetailsCustomization.h
ben zeigler 38d0d0d9c3 Move the GameFeatures and ModularGameplay plugins out of Experimental and put them in Runtime. The plugins have been considered as Beta since 5.2 but they were not moved at the time
The default templates for new game feature plugins were moved as part of this and you may need to update your game's defaulteditor.ini file if it overrides the defaults
#rb Eric.Knapik

[CL 31065946 by ben zeigler in ue5-main branch]
2024-01-31 16:54:18 -05:00

46 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "IDetailCustomization.h"
#include "GameFeatureTypesFwd.h"
#include "UObject/WeakObjectPtrTemplates.h"
namespace UE::GameFeatures { struct FResult; }
class IDetailLayoutBuilder;
class SErrorText;
class IPlugin;
struct EVisibility;
//////////////////////////////////////////////////////////////////////////
// FGameFeatureDataDetailsCustomization
class FGameFeatureDataDetailsCustomization : public IDetailCustomization
{
public:
/** Makes a new instance of this detail layout class for a specific detail view requesting it */
static TSharedRef<IDetailCustomization> MakeInstance();
// IDetailCustomization interface
virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override;
// End of IDetailCustomization interface
protected:
void ChangeDesiredState(EGameFeaturePluginState State);
EGameFeaturePluginState GetCurrentState() const;
EVisibility GetVisbililty() const;
FText GetInitialStateText() const;
FText GetTagConfigPathText() const;
static void OnOperationCompletedOrFailed(const UE::GameFeatures::FResult& Result, const TWeakPtr<FGameFeatureDataDetailsCustomization> WeakThisPtr);
protected:
TArray<TWeakObjectPtr<UObject>> ObjectsBeingCustomized;
FString PluginURL;
TSharedPtr<IPlugin> PluginPtr;
TSharedPtr<SErrorText> ErrorTextWidget;
};