Organize some structures and enum

This commit is contained in:
martinluckyrobots 2025-04-07 15:10:43 +08:00
parent 4d4026d9ad
commit 6cd091136d
46 changed files with 184 additions and 28 deletions

View File

@ -198,7 +198,7 @@ void ULuckyRobotsGameInstance::SetCurrentObjectsNumber(int32 ObjectsNumber)
CurrentCaptureSettingsData.NumberOfObjects = FText::FromString(FString::FromInt(ObjectsNumber));
}
void ULuckyRobotsGameInstance::SetCurrentRandomMeshes(const TArray<TSoftObjectPtr<UStaticMeshComponent>>& RandomMeshes)
void ULuckyRobotsGameInstance::SetCurrentRandomMeshes(const TArray<TSoftObjectPtr<UStaticMesh>>& RandomMeshes)
{
CurrentCaptureSettingsData.RandomMeshes = RandomMeshes;
}
@ -278,7 +278,7 @@ int32 ULuckyRobotsGameInstance::GetCurrentObjectsNumber() const
return FCString::Atoi(*CurrentCaptureSettingsData.NumberOfObjects.ToString());
}
TArray<TSoftObjectPtr<UStaticMeshComponent>> ULuckyRobotsGameInstance::GetCurrentRandomMeshes() const
TArray<TSoftObjectPtr<UStaticMesh>> ULuckyRobotsGameInstance::GetCurrentRandomMeshes() const
{
return CurrentCaptureSettingsData.RandomMeshes;
}

View File

@ -24,6 +24,21 @@ public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
UDataTable* LevelDataTable;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
UDataTable* FurnitureDataTable;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
UDataTable* DecorationDataTable;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
UDataTable* KitchenwareDataTable;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
UDataTable* ElectronicsDataTable;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
UDataTable* BathroomDataTable;
public:
bool bIsFirstOpenGame;
bool bIsDebug;
@ -169,7 +184,7 @@ public:
void SetCurrentObjectsNumber(int32 ObjectsNumber);
UFUNCTION(BlueprintCallable)
void SetCurrentRandomMeshes(const TArray<TSoftObjectPtr<UStaticMeshComponent>>& RandomMeshes);
void SetCurrentRandomMeshes(const TArray<TSoftObjectPtr<UStaticMesh>>& RandomMeshes);
UFUNCTION(BlueprintCallable)
void SetCurrentIsInfiniteCapture(bool bInfiniteCapture);
@ -218,7 +233,7 @@ public:
int32 GetCurrentObjectsNumber() const;
UFUNCTION(BlueprintPure)
TArray<TSoftObjectPtr<UStaticMeshComponent>> GetCurrentRandomMeshes() const;
TArray<TSoftObjectPtr<UStaticMesh>> GetCurrentRandomMeshes() const;
UFUNCTION(BlueprintPure)
bool GetCurrentIsInfiniteCapture() const;

View File

@ -72,29 +72,29 @@ enum class EQualityEnum : uint8
UENUM(BlueprintType)
enum class EGoalType : uint8
{
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")
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")
};
UENUM(BlueprintType)
@ -116,6 +116,84 @@ enum class ELogItemType : uint8
Consol UMETA(DisplayName = "Consol")
};
UENUM(BlueprintType)
enum class EFurniture : uint8
{
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
{
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
{
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
{
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
{
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")
};
USTRUCT(BlueprintType)
struct FRobotData : public FTableRowBase
{
@ -306,7 +384,7 @@ public:
FText NumberOfObjects = FText::FromString("1");
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<TSoftObjectPtr<UStaticMeshComponent>> RandomMeshes;
TArray<TSoftObjectPtr<UStaticMesh>> RandomMeshes;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bInfiniteCapture;
@ -398,3 +476,66 @@ public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bCallback;
};
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)
, FurnitureType(EFurniture::Sofas)
, DecorationType(EDecoration::Carpets)
, KitchenwareType(EKitchenware::Plates)
, ElectronicsType(EElectronics::Television)
, BathroomType(EBathroom::Towels)
, Name(TEXT(""))
, Icon(nullptr)
, Mesh(nullptr)
, Description(TEXT(""))
, bIsStatic(false)
, Transform(FTransform::Identity)
{
}
};