#pragma once #include "SharedDef.generated.h" UENUM(BlueprintType) enum class ERobotsCategories : uint8 { Wheeled UMETA(DisplayName = "Wheeled Robots"), FourLegged UMETA(DisplayName = "Four-Legged Robots"), TwoLegged UMETA(DisplayName = "Two-Legged Robots"), Stationary UMETA(DisplayName = "Stationary Robots"), IndoorFlying UMETA(DisplayName = "Indoor Flying Robots"), SwimmingUnderwater UMETA(DisplayName = "Swimming/Underwater Robots"), CrawlingModular UMETA(DisplayName = "Crawling/Modular Robots"), Arm UMETA(DisplayName = "Arm-Robots"), OutdoorFlying UMETA(DisplayName = "Outdoor Flying Robots") }; UENUM(BlueprintType) enum class ERobotsName : uint8 { None UMETA(DisplayName = "None"), Luck_e UMETA(DisplayName = "Luck-e"), Stretch UMETA(DisplayName = "Stretch"), LuckyDrone UMETA(DisplayName = "Lucky Drone"), DJIDrone UMETA(DisplayName = "DJI Drone"), ArmLucky UMETA(DisplayName = "Arm Lucky"), UnitreeG1 UMETA(DisplayName = "Unitree G1"), StretchRobotV1 UMETA(DisplayName = "Stretch Robot V1"), PandaArmRobot UMETA(DisplayName = "Panda Arm Robot"), PuralinkRobot UMETA(DisplayName = "Puralink Robot"), UnitreeGo2 UMETA(DisplayName = "Unitree Go 2"), RevoluteRobot UMETA(DisplayName = "Revolute Robot"), BostonSpotRobot UMETA(DisplayName = "Boston Spot Robot") }; UENUM(BlueprintType) enum class ELevelType : uint8 { Home UMETA(DisplayName = "Home"), Office UMETA(DisplayName = "Office"), Street UMETA(DisplayName = "Street"), TestLevel UMETA(DisplayName = "TestLevel") }; UENUM(BlueprintType) enum class ELevelEnum : uint8 { None UMETA(DisplayName = "None"), TestLevel UMETA(DisplayName = "Test Level"), Loft UMETA(DisplayName = "Loft"), Rome UMETA(DisplayName = "Rome"), Paris UMETA(DisplayName = "Paris"), Marseille UMETA(DisplayName = "Marseille"), Istanbul UMETA(DisplayName = "Istanbul"), Office UMETA(DisplayName = "Office"), BasicForest UMETA(DisplayName = "Basic Forest"), NaturalForest UMETA(DisplayName = "Natural Forest"), KitchenForArmRobot UMETA(DisplayName = "Kitchen for Arm Robot"), PipeFabric UMETA(DisplayName = "Pipe Fabric") }; UENUM(BlueprintType) enum class EQualityEnum : uint8 { Epic UMETA(DisplayName = "Epic"), High UMETA(DisplayName = "High"), Middle UMETA(DisplayName = "Middle"), Low UMETA(DisplayName = "Low") }; USTRUCT(BlueprintType) struct FRobotData : public FTableRowBase { GENERATED_BODY() public: UPROPERTY(EditAnywhere, BlueprintReadWrite) ERobotsName Name; UPROPERTY(EditAnywhere, BlueprintReadWrite) TSubclassOf RobotClass; UPROPERTY(EditAnywhere, BlueprintReadWrite) FTransform Transform; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bActive; UPROPERTY(EditAnywhere, BlueprintReadWrite) UTexture2D* RobotImage; UPROPERTY(EditAnywhere, BlueprintReadWrite) ERobotsCategories RobotType; UPROPERTY(EditAnywhere, BlueprintReadWrite) FText HelpText; }; USTRUCT(BlueprintType) struct FLevelData : public FTableRowBase { GENERATED_BODY() public: UPROPERTY(EditAnywhere, BlueprintReadWrite) int ID; UPROPERTY(EditAnywhere, BlueprintReadWrite) ELevelEnum LevelEnum; UPROPERTY(EditAnywhere, BlueprintReadWrite) ELevelType LevelType; UPROPERTY(EditAnywhere, BlueprintReadWrite) FString LevelName; UPROPERTY(EditAnywhere, BlueprintReadWrite) UTexture2D* LevelImage; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bActive; UPROPERTY(EditAnywhere, BlueprintReadWrite) TArray RobotTypeList; };