Files
UnrealEngineUWP/Engine/Plugins/Runtime/SmartObjects/Source/SmartObjectsModule/Public/Annotations/SmartObjectSlotEntryAnnotation.h
nat parkinson 1004be8d8a [Backout] - CL24460758 to resolve nonunity errors
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
SmartObjects: Added entry annotation selection and validation.
- Added USmartObjectSubsystem::FindEntryLocationForSlot() which allows to query entry points which are on navigable surface
- Improved debug visualizations
- Added visualization shape and size for slots
- Added gameplay interaction state tree task to query entry location

#jira UE-174418,FORT-572969
#preflight 63ff4702437ce3e7f3f60cf4

[CL 24469441 by nat parkinson in ue5-main branch]
2023-03-01 15:40:51 -05:00

32 lines
1.2 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "SmartObjectAnnotation.h"
#include "SmartObjectSlotEntryAnnotation.generated.h"
/**
* Annotation to define a navigation entry for a Smart Object Slot.
* This can be used to add multiple entry points to a slot, or to validate the entries against navigation data.
*/
USTRUCT()
struct SMARTOBJECTSMODULE_API FSmartObjectSlotEntryAnnotation : public FSmartObjectSlotAnnotation
{
GENERATED_BODY()
#if UE_ENABLE_DEBUG_DRAWING
virtual void DrawVisualization(FSmartObjectVisualizationContext& VisContext) const override;
virtual void DrawVisualizationHUD(FSmartObjectVisualizationContext& VisContext) const override;
virtual TOptional<FTransform> GetWorldTransform(const FTransform& SlotTransform) const override;
virtual void AdjustWorldTransform(const FTransform& SlotTransform, const FVector& DeltaTranslation, const FRotator& DeltaRotation) override;
#endif
/** Local space offset of the entry. */
UPROPERTY(EditAnywhere, Category="Default")
FVector3f Offset = FVector3f(0.f);
/** Local space rotation of the entry. */
UPROPERTY(EditAnywhere, Category="Default")
FRotator Rotation = FRotator(0.f);
};