#pragma once #include "Engine/DataTable.h" #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 ELevelType : uint8 { Home UMETA(DisplayName = "Home"), Office UMETA(DisplayName = "Office"), Street UMETA(DisplayName = "Street"), TestLevel UMETA(DisplayName = "TestLevel") }; USTRUCT(BlueprintType) struct FRobotData : public FTableRowBase { GENERATED_BODY() public: UPROPERTY(EditAnywhere, BlueprintReadWrite) FString 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) FString HelpStr; }; USTRUCT(BlueprintType) struct FLevelData : public FTableRowBase { GENERATED_BODY() public: UPROPERTY(EditAnywhere, BlueprintReadWrite) int ID; UPROPERTY(EditAnywhere, BlueprintReadWrite) FString LevelName; UPROPERTY(EditAnywhere, BlueprintReadWrite) ELevelType LevelType; UPROPERTY(EditAnywhere, BlueprintReadWrite) FString MenuName; UPROPERTY(EditAnywhere, BlueprintReadWrite) UTexture2D* LevelImage; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bActive; UPROPERTY(EditAnywhere, BlueprintReadWrite) TArray RobotTypeList; };