martinluckyrobots 8e1c017515 Optimize gamemode and gamestate code
2025-04-01 11:04:11 +08:00

223 lines
5.6 KiB
C++

#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
{
Low UMETA(DisplayName = "Low"),
Middle UMETA(DisplayName = "Middle"),
High UMETA(DisplayName = "High"),
Epic UMETA(DisplayName = "Epic")
};
UENUM(BlueprintType)
enum class EGoalType : uint8
{
GrabAndPull UMETA(DisplayName = "Grab and Pull"),
GrabAndRotate UMETA(DisplayName = "Grab and Rotate"),
};
USTRUCT(BlueprintType)
struct FRobotData : public FTableRowBase
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
ERobotsName Name;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TSubclassOf<AActor> 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)
TSoftObjectPtr<UWorld> LevelObject;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UTexture2D* LevelImage;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bActive;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<ERobotsCategories> RobotTypeList;
};
USTRUCT(BlueprintType)
struct FGoalsTaskData : public FTableRowBase
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
EGoalType GoalType;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bIsStart;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FTransform TargetLocation;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
AActor* TargetActor;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bIsComplate;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FVector DropOffLocation;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString ObjectName;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bActive;
};
USTRUCT(BlueprintType)
struct FCaptureSettingsData : public FTableRowBase
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FText FolderName;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FText FileName;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FText WritesPerSec;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool IsScenario;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FGoalsTaskData> TaskList;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bLight;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bMaterials;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bRobotPosition;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bPets;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FText NumberOfPets;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bPeople;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FText NumberOfPeople;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bObjects;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FText NumberOfObjects;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<UStaticMeshComponent*> RandomMeshes;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bInfiniteCapture;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FText NumberOfCaptures;
};