Files
UnrealEngine/Engine/Plugins/Runtime/MassGameplay/Source/MassSmartObjects/Public/MassSmartObjectSettings.h
2025-05-18 13:04:45 +08:00

45 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ZoneGraphTypes.h"
#include "MassSettings.h"
#include "MassSmartObjectSettings.generated.h"
#define UE_API MASSSMARTOBJECTS_API
#if WITH_EDITOR
/** Called when annotation tag settings changed. */
DECLARE_MULTICAST_DELEGATE(FOnAnnotationSettingsChanged);
#endif
/**
* Settings for the MassSmartObject module.
*/
UCLASS(MinimalAPI, config = Plugins, defaultconfig, DisplayName = "Mass SmartObject")
class UMassSmartObjectSettings : public UMassModuleSettings
{
GENERATED_BODY()
public:
#if WITH_EDITOR
mutable FOnAnnotationSettingsChanged OnAnnotationSettingsChanged;
#endif
/** Tag used to indicate that smart objects are associated to a lane for queries using lanes. */
UPROPERTY(EditDefaultsOnly, Category = ZoneGraph, config)
FZoneGraphTag SmartObjectTag;
/** Extents used to find precomputed entry points to reach a smart object from a zone graph lane. */
UPROPERTY(EditDefaultsOnly, Category = ZoneGraph, config)
float SearchExtents = 500.f;
protected:
#if WITH_EDITOR
UE_API virtual void PostEditChangeChainProperty(FPropertyChangedChainEvent& PropertyChangedEvent) override;
#endif
};
#undef UE_API