2025-03-30 11:46:50 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "SharedDef.generated.h"
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class ERobotsCategories : uint8
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
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")
|
2025-03-30 11:46:50 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class ERobotsName : uint8
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
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")
|
2025-03-30 11:46:50 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class ELevelType : uint8
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
Home UMETA(DisplayName = "Home"),
|
|
|
|
Office UMETA(DisplayName = "Office"),
|
|
|
|
Street UMETA(DisplayName = "Street"),
|
|
|
|
TestLevel UMETA(DisplayName = "TestLevel")
|
2025-03-30 11:46:50 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class ELevelEnum : uint8
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
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")
|
2025-03-30 11:46:50 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EQualityEnum : uint8
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
Low UMETA(DisplayName = "Low"),
|
|
|
|
Middle UMETA(DisplayName = "Middle"),
|
|
|
|
High UMETA(DisplayName = "High"),
|
|
|
|
Epic UMETA(DisplayName = "Epic")
|
2025-04-01 11:04:11 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EGoalType : uint8
|
|
|
|
{
|
2025-04-07 15:10:43 +08:00
|
|
|
GrabAndPull UMETA(DisplayName = "Grab and Pull"),
|
|
|
|
GrabAndRotate UMETA(DisplayName = "Grab and Rotate"),
|
|
|
|
GrabAndOpen UMETA(DisplayName = "Grab and Open"),
|
|
|
|
PickAndPlace UMETA(DisplayName = "Pick and Place"),
|
|
|
|
Pick UMETA(DisplayName = "Pick"),
|
|
|
|
GrabAndInsert UMETA(DisplayName = "Grab and Insert"),
|
|
|
|
Find UMETA(DisplayName = "Find"),
|
|
|
|
Point UMETA(DisplayName = "Point"),
|
|
|
|
PointWithLaserPointer UMETA(DisplayName = "Point with Laser Pointer"),
|
|
|
|
RotateHand UMETA(DisplayName = "Rotate Hand"),
|
|
|
|
SliceDice UMETA(DisplayName = "Slice/Dice"),
|
|
|
|
Wipe UMETA(DisplayName = "Wipe"),
|
|
|
|
FoldUnfold UMETA(DisplayName = "Fold/Unfold"),
|
|
|
|
ArrangeOrganize UMETA(DisplayName = "Arrange/Organize"),
|
|
|
|
PressButton UMETA(DisplayName = "Press Button"),
|
|
|
|
PourDispense UMETA(DisplayName = "Pour/Dispense"),
|
|
|
|
NavigateSimpleEnvironments UMETA(DisplayName = "Navigate Simple Environments"),
|
|
|
|
NavigateComplexTerrain UMETA(DisplayName = "Navigate Complex Terrain"),
|
|
|
|
ClimbStairsOrRamps UMETA(DisplayName = "Climb Stairs or Ramps"),
|
|
|
|
BalanceStabilize UMETA(DisplayName = "Balance/Stabilize"),
|
|
|
|
DockingAndCharging UMETA(DisplayName = "Docking and Charging"),
|
|
|
|
ChangeGripper UMETA(DisplayName = "Change Gripper"),
|
|
|
|
Place UMETA(DisplayName = "Place")
|
2025-03-30 11:46:50 +08:00
|
|
|
};
|
|
|
|
|
2025-04-03 12:29:12 +08:00
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class ESaveDataType : uint8
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
file UMETA(DisplayName = "file"),
|
|
|
|
webserver UMETA(DisplayName = "webserver"),
|
|
|
|
http UMETA(DisplayName = "http"),
|
|
|
|
debug UMETA(DisplayName = "debug"),
|
|
|
|
none UMETA(DisplayName = "none")
|
2025-04-03 12:29:12 +08:00
|
|
|
};
|
|
|
|
|
2025-04-03 15:10:44 +08:00
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class ELogItemType : uint8
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
Debug UMETA(DisplayName = "Debug"),
|
|
|
|
War UMETA(DisplayName = "War"),
|
|
|
|
Error UMETA(DisplayName = "Error"),
|
|
|
|
Consol UMETA(DisplayName = "Consol")
|
2025-04-03 15:10:44 +08:00
|
|
|
};
|
2025-04-07 11:32:45 +08:00
|
|
|
|
2025-04-07 15:10:43 +08:00
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EFurniture : uint8
|
|
|
|
{
|
2025-04-07 21:51:44 +08:00
|
|
|
None UMETA(DisplayName = "None"),
|
2025-04-07 15:10:43 +08:00
|
|
|
Sofas UMETA(DisplayName = "Sofas"),
|
|
|
|
Chairs UMETA(DisplayName = "Chairs"),
|
|
|
|
Tables UMETA(DisplayName = "Tables"),
|
|
|
|
Beds UMETA(DisplayName = "Beds"),
|
|
|
|
Cabinets UMETA(DisplayName = "Cabinets"),
|
|
|
|
Shelves UMETA(DisplayName = "Shelves"),
|
|
|
|
Desks UMETA(DisplayName = "Desks"),
|
|
|
|
Doors UMETA(DisplayName = "Doors"),
|
|
|
|
Drawers UMETA(DisplayName = "Drawers")
|
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EDecoration : uint8
|
|
|
|
{
|
2025-04-07 21:51:44 +08:00
|
|
|
None UMETA(DisplayName = "None"),
|
2025-04-07 15:10:43 +08:00
|
|
|
Carpets UMETA(DisplayName = "Carpets"),
|
|
|
|
Paintings UMETA(DisplayName = "Paintings"),
|
|
|
|
Vases UMETA(DisplayName = "Vases"),
|
|
|
|
Lamps UMETA(DisplayName = "Lamps"),
|
|
|
|
Mirrors UMETA(DisplayName = "Mirrors"),
|
|
|
|
Curtains UMETA(DisplayName = "Curtains"),
|
|
|
|
Plants UMETA(DisplayName = "Plants"),
|
|
|
|
Textiles UMETA(DisplayName = "Textiles"),
|
|
|
|
Lighting UMETA(DisplayName = "Lighting"),
|
|
|
|
Outdoor UMETA(DisplayName = "Outdoor"),
|
|
|
|
OfficeSupplies UMETA(DisplayName = "Office Supplies"),
|
|
|
|
Books UMETA(DisplayName = "Books"),
|
|
|
|
ToolsAndEquipment UMETA(DisplayName = "Tools And Equipment"),
|
|
|
|
Dressing UMETA(DisplayName = "Dressing"),
|
|
|
|
BasketsAndBoxes UMETA(DisplayName = "Baskets And Boxes")
|
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EKitchenware : uint8
|
|
|
|
{
|
2025-04-07 21:51:44 +08:00
|
|
|
None UMETA(DisplayName = "None"),
|
2025-04-07 15:10:43 +08:00
|
|
|
Plates UMETA(DisplayName = "Plates"),
|
|
|
|
Glasses UMETA(DisplayName = "Glasses"),
|
|
|
|
Cutlery UMETA(DisplayName = "Cutlery"),
|
|
|
|
Pots UMETA(DisplayName = "Pots"),
|
|
|
|
SmallAppliances UMETA(DisplayName = "Small Appliances"),
|
|
|
|
Cups UMETA(DisplayName = "Cups"),
|
|
|
|
Bottles UMETA(DisplayName = "Bottles")
|
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EElectronics : uint8
|
|
|
|
{
|
2025-04-07 21:51:44 +08:00
|
|
|
None UMETA(DisplayName = "None"),
|
2025-04-07 15:10:43 +08:00
|
|
|
Television UMETA(DisplayName = "Television"),
|
|
|
|
LargeAppliances UMETA(DisplayName = "Large Appliances"),
|
|
|
|
Oven UMETA(DisplayName = "Oven"),
|
|
|
|
Computer UMETA(DisplayName = "Computer"),
|
|
|
|
KitchenGadgets UMETA(DisplayName = "Kitchen Gadgets"),
|
|
|
|
MusicGadgets UMETA(DisplayName = "Music Gadgets"),
|
|
|
|
SmallElectronics UMETA(DisplayName = "Small Electronics")
|
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EBathroom : uint8
|
|
|
|
{
|
2025-04-07 21:51:44 +08:00
|
|
|
None UMETA(DisplayName = "None"),
|
2025-04-07 15:10:43 +08:00
|
|
|
Towels UMETA(DisplayName = "Towels"),
|
|
|
|
SoapDispenser UMETA(DisplayName = "Soap Dispenser"),
|
|
|
|
ShowerCurtains UMETA(DisplayName = "Shower Curtains"),
|
|
|
|
BathMats UMETA(DisplayName = "Bath Mats"),
|
|
|
|
Toiletries UMETA(DisplayName = "Toiletries")
|
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EItemCategory : uint8
|
|
|
|
{
|
|
|
|
Furniture UMETA(DisplayName = "Furniture"),
|
|
|
|
Decoration UMETA(DisplayName = "Decoration"),
|
|
|
|
Kitchenware UMETA(DisplayName = "Kitchenware"),
|
|
|
|
Electronics UMETA(DisplayName = "Electronics"),
|
|
|
|
Bathroom UMETA(DisplayName = "Bathroom")
|
|
|
|
};
|
|
|
|
|
2025-04-07 21:51:44 +08:00
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EHoldItemType : uint8
|
|
|
|
{
|
|
|
|
None UMETA(DisplayName = "None"),
|
|
|
|
HoldObject UMETA(DisplayName = "Hold Object"),
|
|
|
|
DontTouch UMETA(DisplayName = "Don't Touch")
|
|
|
|
};
|
|
|
|
|
|
|
|
UENUM(BlueprintType)
|
|
|
|
enum class EScenarioEnum : uint8
|
|
|
|
{
|
|
|
|
None UMETA(DisplayName = "None"),
|
|
|
|
TidyUp UMETA(DisplayName = "Tidy Up"),
|
|
|
|
Draw UMETA(DisplayName = "Draw"),
|
|
|
|
StoveOff UMETA(DisplayName = "Stove Off")
|
|
|
|
};
|
|
|
|
|
2025-03-30 11:46:50 +08:00
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FRobotData : public FTableRowBase
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
2025-04-07 11:32:45 +08:00
|
|
|
|
2025-03-30 11:46:50 +08:00
|
|
|
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()
|
2025-04-07 11:32:45 +08:00
|
|
|
|
2025-03-30 11:46:50 +08:00
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-07 11:32:45 +08:00
|
|
|
int32 ID;
|
2025-03-30 11:46:50 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
ELevelEnum LevelEnum;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
ELevelType LevelType;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-03-30 12:27:29 +08:00
|
|
|
TSoftObjectPtr<UWorld> LevelObject;
|
2025-03-30 11:46:50 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
UTexture2D* LevelImage;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool bActive;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
TArray<ERobotsCategories> RobotTypeList;
|
2025-04-02 13:40:55 +08:00
|
|
|
|
|
|
|
bool operator==(const FLevelData& Other) const
|
|
|
|
{
|
|
|
|
return ID == Other.ID &&
|
|
|
|
LevelEnum == Other.LevelEnum &&
|
|
|
|
LevelType == Other.LevelType &&
|
|
|
|
LevelObject == Other.LevelObject &&
|
|
|
|
LevelImage == Other.LevelImage &&
|
|
|
|
bActive == Other.bActive &&
|
2025-04-07 11:32:45 +08:00
|
|
|
RobotTypeList == Other.RobotTypeList;
|
2025-04-02 13:40:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
FLevelData& operator=(const FLevelData& Other)
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
if (this != &Other)
|
2025-04-02 13:40:55 +08:00
|
|
|
{
|
|
|
|
ID = Other.ID;
|
|
|
|
LevelEnum = Other.LevelEnum;
|
|
|
|
LevelType = Other.LevelType;
|
|
|
|
LevelObject = Other.LevelObject;
|
|
|
|
LevelImage = Other.LevelImage;
|
|
|
|
bActive = Other.bActive;
|
|
|
|
RobotTypeList = Other.RobotTypeList;
|
|
|
|
}
|
|
|
|
return *this;
|
|
|
|
}
|
2025-04-01 11:04:11 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FGoalsTaskData : public FTableRowBase
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
2025-04-07 11:32:45 +08:00
|
|
|
|
2025-04-01 11:04:11 +08:00
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
EGoalType GoalType;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool bIsStart;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
FTransform TargetLocation;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-02 13:40:55 +08:00
|
|
|
TSoftObjectPtr<UObject> TargetActor;
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-07 11:32:45 +08:00
|
|
|
bool bIsComplete;
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
FVector DropOffLocation;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-07 11:32:45 +08:00
|
|
|
FString ObjectName;
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool bActive;
|
2025-04-02 13:40:55 +08:00
|
|
|
|
|
|
|
bool operator==(const FGoalsTaskData& Other) const
|
|
|
|
{
|
|
|
|
return GoalType == Other.GoalType &&
|
|
|
|
bIsStart == Other.bIsStart &&
|
2025-04-07 11:32:45 +08:00
|
|
|
TargetLocation.Equals(Other.TargetLocation, 0.01f) &&
|
2025-04-02 13:40:55 +08:00
|
|
|
TargetActor == Other.TargetActor &&
|
2025-04-07 11:32:45 +08:00
|
|
|
bIsComplete == Other.bIsComplete &&
|
2025-04-02 13:40:55 +08:00
|
|
|
DropOffLocation.Equals(Other.DropOffLocation, 0.01f) &&
|
|
|
|
ObjectName == Other.ObjectName &&
|
|
|
|
bActive == Other.bActive;
|
|
|
|
}
|
|
|
|
|
|
|
|
FGoalsTaskData& operator=(const FGoalsTaskData& Other)
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
if (this != &Other)
|
2025-04-02 13:40:55 +08:00
|
|
|
{
|
|
|
|
GoalType = Other.GoalType;
|
|
|
|
bIsStart = Other.bIsStart;
|
|
|
|
TargetLocation = Other.TargetLocation;
|
|
|
|
TargetActor = Other.TargetActor;
|
2025-04-07 11:32:45 +08:00
|
|
|
bIsComplete = Other.bIsComplete;
|
2025-04-02 13:40:55 +08:00
|
|
|
DropOffLocation = Other.DropOffLocation;
|
|
|
|
ObjectName = Other.ObjectName;
|
|
|
|
bActive = Other.bActive;
|
|
|
|
}
|
|
|
|
return *this;
|
|
|
|
}
|
2025-04-01 11:04:11 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FCaptureSettingsData : public FTableRowBase
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
2025-04-07 11:32:45 +08:00
|
|
|
|
2025-04-01 11:04:11 +08:00
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-02 13:40:55 +08:00
|
|
|
FText FolderName = FText::FromString("robotdata");
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-02 13:40:55 +08:00
|
|
|
FText FileName = FText::FromString("FILE");
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-02 13:40:55 +08:00
|
|
|
FText WritesPerSec = FText::FromString("1");
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
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)
|
2025-04-02 13:40:55 +08:00
|
|
|
FText NumberOfPeople = FText::FromString("1");
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool bObjects;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-02 13:40:55 +08:00
|
|
|
FText NumberOfObjects = FText::FromString("1");
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-07 15:10:43 +08:00
|
|
|
TArray<TSoftObjectPtr<UStaticMesh>> RandomMeshes;
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-07 11:32:45 +08:00
|
|
|
bool bInfiniteCapture;
|
2025-04-01 11:04:11 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-02 13:40:55 +08:00
|
|
|
FText NumberOfCaptures = FText::FromString("1");
|
|
|
|
|
|
|
|
bool operator==(const FCaptureSettingsData& Other) const
|
|
|
|
{
|
|
|
|
return FolderName.EqualTo(Other.FolderName) &&
|
|
|
|
FileName.EqualTo(Other.FileName) &&
|
|
|
|
WritesPerSec.EqualTo(Other.WritesPerSec) &&
|
|
|
|
IsScenario == Other.IsScenario &&
|
2025-04-07 11:32:45 +08:00
|
|
|
TaskList == Other.TaskList &&
|
2025-04-02 13:40:55 +08:00
|
|
|
bLight == Other.bLight &&
|
|
|
|
bMaterials == Other.bMaterials &&
|
|
|
|
bRobotPosition == Other.bRobotPosition &&
|
|
|
|
bPets == Other.bPets &&
|
|
|
|
NumberOfPets.EqualTo(Other.NumberOfPets) &&
|
|
|
|
bPeople == Other.bPeople &&
|
|
|
|
NumberOfPeople.EqualTo(Other.NumberOfPeople) &&
|
|
|
|
bObjects == Other.bObjects &&
|
|
|
|
NumberOfObjects.EqualTo(Other.NumberOfObjects) &&
|
2025-04-07 11:32:45 +08:00
|
|
|
RandomMeshes == Other.RandomMeshes &&
|
2025-04-02 13:40:55 +08:00
|
|
|
bInfiniteCapture == Other.bInfiniteCapture &&
|
|
|
|
NumberOfCaptures.EqualTo(Other.NumberOfCaptures);
|
|
|
|
}
|
|
|
|
|
|
|
|
FCaptureSettingsData& operator=(const FCaptureSettingsData& Other)
|
|
|
|
{
|
2025-04-07 11:32:45 +08:00
|
|
|
if (this != &Other)
|
2025-04-02 13:40:55 +08:00
|
|
|
{
|
|
|
|
FolderName = Other.FolderName;
|
|
|
|
FileName = Other.FileName;
|
|
|
|
WritesPerSec = Other.WritesPerSec;
|
|
|
|
IsScenario = Other.IsScenario;
|
|
|
|
TaskList = Other.TaskList;
|
|
|
|
bLight = Other.bLight;
|
|
|
|
bMaterials = Other.bMaterials;
|
|
|
|
bRobotPosition = Other.bRobotPosition;
|
|
|
|
bPets = Other.bPets;
|
|
|
|
NumberOfPets = Other.NumberOfPets;
|
|
|
|
bPeople = Other.bPeople;
|
|
|
|
NumberOfPeople = Other.NumberOfPeople;
|
|
|
|
bObjects = Other.bObjects;
|
|
|
|
NumberOfObjects = Other.NumberOfObjects;
|
|
|
|
RandomMeshes = Other.RandomMeshes;
|
|
|
|
bInfiniteCapture = Other.bInfiniteCapture;
|
|
|
|
NumberOfCaptures = Other.NumberOfCaptures;
|
|
|
|
}
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FAllGoalListData : public FTableRowBase
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
2025-04-07 11:32:45 +08:00
|
|
|
|
2025-04-02 13:40:55 +08:00
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
EGoalType GoalType;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
FString Example;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
TSubclassOf<UUserWidget> Widget;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool bIsActive;
|
2025-04-01 11:04:11 +08:00
|
|
|
};
|
2025-04-03 12:29:12 +08:00
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FLuckyCode : public FTableRowBase
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
2025-04-07 11:32:45 +08:00
|
|
|
|
2025-04-03 12:29:12 +08:00
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
2025-04-07 11:32:45 +08:00
|
|
|
int32 ID;
|
2025-04-03 12:29:12 +08:00
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
FString Code;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
float Time;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool bCallback;
|
|
|
|
};
|
2025-04-07 15:10:43 +08:00
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FSelectableItemData : public FTableRowBase
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
int32 ID;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
EItemCategory Category;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item", meta = (EditCondition = "Category == EItemCategory::Furniture", EditConditionHides))
|
|
|
|
EFurniture FurnitureType;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item", meta = (EditCondition = "Category == EItemCategory::Decoration", EditConditionHides))
|
|
|
|
EDecoration DecorationType;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item", meta = (EditCondition = "Category == EItemCategory::Kitchenware", EditConditionHides))
|
|
|
|
EKitchenware KitchenwareType;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item", meta = (EditCondition = "Category == EItemCategory::Electronics", EditConditionHides))
|
|
|
|
EElectronics ElectronicsType;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item", meta = (EditCondition = "Category == EItemCategory::Bathroom", EditConditionHides))
|
|
|
|
EBathroom BathroomType;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
FString Name;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
TSoftObjectPtr<UTexture2D> Icon;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
TSoftObjectPtr<UStaticMesh> Mesh;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
FString Description;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
bool bIsStatic;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
FTransform Transform;
|
|
|
|
|
|
|
|
FSelectableItemData()
|
|
|
|
: ID(0)
|
|
|
|
, Category(EItemCategory::Furniture)
|
2025-04-07 21:51:44 +08:00
|
|
|
, FurnitureType(EFurniture::None)
|
|
|
|
, DecorationType(EDecoration::None)
|
|
|
|
, KitchenwareType(EKitchenware::None)
|
|
|
|
, ElectronicsType(EElectronics::None)
|
|
|
|
, BathroomType(EBathroom::None)
|
2025-04-07 15:10:43 +08:00
|
|
|
, Name(TEXT(""))
|
|
|
|
, Icon(nullptr)
|
|
|
|
, Mesh(nullptr)
|
|
|
|
, Description(TEXT(""))
|
|
|
|
, bIsStatic(false)
|
|
|
|
, Transform(FTransform::Identity)
|
|
|
|
{
|
|
|
|
}
|
2025-04-07 21:51:44 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FHoldItemStruct : public FTableRowBase
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
int32 ID;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
FString Name;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
TSoftObjectPtr<UTexture2D> Icon;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
TSoftObjectPtr<UStaticMesh> Mesh;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
FString Description;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
EHoldItemType Type;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
EScenarioEnum ScenarioEnum;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item")
|
|
|
|
FTransform Transform;
|
|
|
|
|
|
|
|
FHoldItemStruct()
|
|
|
|
: ID(0)
|
|
|
|
, Name(TEXT(""))
|
|
|
|
, Icon(nullptr)
|
|
|
|
, Mesh(nullptr)
|
|
|
|
, Description(TEXT(""))
|
|
|
|
, Type(EHoldItemType::None)
|
|
|
|
, ScenarioEnum(EScenarioEnum::None)
|
|
|
|
, Transform(FTransform::Identity)
|
|
|
|
{
|
|
|
|
}
|
2025-04-08 09:46:48 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FStretchRobotActuator
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Actuator")
|
|
|
|
FString Name;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Actuator")
|
|
|
|
float Min;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Actuator")
|
|
|
|
float Max;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Actuator")
|
|
|
|
int32 Index;
|
|
|
|
};
|
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FRandomMaterialTexture
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
TArray<TSoftObjectPtr<UStaticMesh>> Meshs;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
TArray<TSoftObjectPtr<UMaterialInstance>> Materials;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
TArray<TSoftObjectPtr<UTexture>> Textures;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool RandomMaterial;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool RandomTexture;
|
|
|
|
};
|
2025-04-08 11:28:03 +08:00
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FAllTransformCapture
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
FTransform Position;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
FString Name;
|
|
|
|
};
|
|
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
|
|
struct FPipeType
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
bool IsOpen;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite)
|
|
|
|
FTransform Transform;
|
|
|
|
};
|