Files
UnrealEngine/Engine/Source/Runtime/UMG/Public/Components/RadialBoxSettings.h
2025-05-18 13:04:45 +08:00

37 lines
1.3 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "RadialBoxSettings.generated.h"
USTRUCT(BlueprintType)
struct FRadialBoxSettings
{
GENERATED_BODY()
/* At what angle will we place the first element of the wheel? */
UPROPERTY(EditAnywhere, Category = "Items", meta = (ClampMin = 0, ClampMax = 360))
float StartingAngle;
/* Distribute Items evenly in the whole circle. Checking this option ignores AngleBetweenItems */
UPROPERTY(EditAnywhere, Category = "Items")
bool bDistributeItemsEvenly;
/* Amount of Euler degrees that separate each item. Only used when bDistributeItemsEvenly is false */
UPROPERTY(EditAnywhere, Category = "Items", meta = (EditCondition = "!bDistributeItemsEvenly", ClampMin = 0, ClampMax = 360))
float AngleBetweenItems;
/** If we need a section of a radial (for example half-a-radial) we can define a central angle < 360 (180 in case of half-a-radial). Used when bDistributeItemsEvenly is enabled. */
UPROPERTY(EditAnywhere, Category = "Items", meta = (EditCondition = "bDistributeItemsEvenly", ClampMin = 0, ClampMax = 360))
float SectorCentralAngle;
FRadialBoxSettings()
: StartingAngle(0.f)
, bDistributeItemsEvenly(true)
, AngleBetweenItems(0.f)
, SectorCentralAngle(360.f)
{
}
};