diff --git a/Content/Blueprint/Core/BP_3DtextHelp.uasset b/Content/Blueprint/Core/BP_3DtextHelp.uasset index 8caa15f5..87a489b3 100644 Binary files a/Content/Blueprint/Core/BP_3DtextHelp.uasset and b/Content/Blueprint/Core/BP_3DtextHelp.uasset differ diff --git a/Content/Blueprint/Core/BP_randomizeChangeMaterialTexture.uasset b/Content/Blueprint/Core/BP_randomizeChangeMaterialTexture.uasset index 6abdac67..b4862b1e 100644 Binary files a/Content/Blueprint/Core/BP_randomizeChangeMaterialTexture.uasset and b/Content/Blueprint/Core/BP_randomizeChangeMaterialTexture.uasset differ diff --git a/Content/Blueprint/Game/BP_LuckyGameinstanceMode.uasset b/Content/Blueprint/Game/BP_LuckyGameinstanceMode.uasset index 6ea6291c..1b97bacd 100644 Binary files a/Content/Blueprint/Game/BP_LuckyGameinstanceMode.uasset and b/Content/Blueprint/Game/BP_LuckyGameinstanceMode.uasset differ diff --git a/Content/Blueprint/RobotPawnActors/BP_WheeledRobot.uasset b/Content/Blueprint/RobotPawnActors/BP_WheeledRobot.uasset index 67cccb51..76310510 100644 Binary files a/Content/Blueprint/RobotPawnActors/BP_WheeledRobot.uasset and b/Content/Blueprint/RobotPawnActors/BP_WheeledRobot.uasset differ diff --git a/Content/Blueprint/RobotPawnActors/BP_mujokoStretch.uasset b/Content/Blueprint/RobotPawnActors/BP_mujokoStretch.uasset index da87455f..1be9fd84 100644 Binary files a/Content/Blueprint/RobotPawnActors/BP_mujokoStretch.uasset and b/Content/Blueprint/RobotPawnActors/BP_mujokoStretch.uasset differ diff --git a/Content/Blueprint/component/BPC_Capture.uasset b/Content/Blueprint/component/BPC_Capture.uasset index 170bc406..43621ff2 100644 Binary files a/Content/Blueprint/component/BPC_Capture.uasset and b/Content/Blueprint/component/BPC_Capture.uasset differ diff --git a/Content/Blueprint/component/BPC_NaviPoint.uasset b/Content/Blueprint/component/BPC_NaviPoint.uasset index 175bfe9f..0d415490 100644 Binary files a/Content/Blueprint/component/BPC_NaviPoint.uasset and b/Content/Blueprint/component/BPC_NaviPoint.uasset differ diff --git a/Content/Blueprint/robotAccessoriesSensors/BP_IMUSensor.uasset b/Content/Blueprint/robotAccessoriesSensors/BP_IMUSensor.uasset index ab6dc857..692487f0 100644 Binary files a/Content/Blueprint/robotAccessoriesSensors/BP_IMUSensor.uasset and b/Content/Blueprint/robotAccessoriesSensors/BP_IMUSensor.uasset differ diff --git a/Content/Blueprint/robotAccessoriesSensors/BP_LidarSensor.uasset b/Content/Blueprint/robotAccessoriesSensors/BP_LidarSensor.uasset index 698c4194..b37c14f6 100644 Binary files a/Content/Blueprint/robotAccessoriesSensors/BP_LidarSensor.uasset and b/Content/Blueprint/robotAccessoriesSensors/BP_LidarSensor.uasset differ diff --git a/Content/Blueprint/vehicle/StretchRobot_vehicle_BP.uasset b/Content/Blueprint/vehicle/StretchRobot_vehicle_BP.uasset index 02a9eebe..02c33629 100644 Binary files a/Content/Blueprint/vehicle/StretchRobot_vehicle_BP.uasset and b/Content/Blueprint/vehicle/StretchRobot_vehicle_BP.uasset differ diff --git a/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset b/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset index 59efbf16..e69ce032 100644 Binary files a/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset and b/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset differ diff --git a/Content/luckyBot/Luckywidget/menu/WB_AllRandom.uasset b/Content/luckyBot/Luckywidget/menu/WB_AllRandom.uasset index 02cbd46a..5076e23b 100644 Binary files a/Content/luckyBot/Luckywidget/menu/WB_AllRandom.uasset and b/Content/luckyBot/Luckywidget/menu/WB_AllRandom.uasset differ diff --git a/Content/luckyBot/Luckywidget/menu/WB_CaptureSettings.uasset b/Content/luckyBot/Luckywidget/menu/WB_CaptureSettings.uasset index 25b14d77..e8b0d684 100644 Binary files a/Content/luckyBot/Luckywidget/menu/WB_CaptureSettings.uasset and b/Content/luckyBot/Luckywidget/menu/WB_CaptureSettings.uasset differ diff --git a/Content/luckyBot/Luckywidget/menu/WB_ListViewTaskPeopleObject.uasset b/Content/luckyBot/Luckywidget/menu/WB_ListViewTaskPeopleObject.uasset index 094c3baa..c818d9e0 100644 Binary files a/Content/luckyBot/Luckywidget/menu/WB_ListViewTaskPeopleObject.uasset and b/Content/luckyBot/Luckywidget/menu/WB_ListViewTaskPeopleObject.uasset differ diff --git a/Source/Luckyrobots/Private/LuckyRobotsFunctionLibrary.cpp b/Source/Luckyrobots/Private/LuckyRobotsFunctionLibrary.cpp index 8bc3eabd..901f9a3f 100644 --- a/Source/Luckyrobots/Private/LuckyRobotsFunctionLibrary.cpp +++ b/Source/Luckyrobots/Private/LuckyRobotsFunctionLibrary.cpp @@ -80,7 +80,7 @@ void ULuckyRobotsFunctionLibrary::UpdateQualitySettings(const UObject* WorldCont } } -FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings() +FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings(const UObject* WorldContextObject) { FCaptureSettingsData DefaultCaptureSetting; DefaultCaptureSetting.FolderName = FText::FromString("robotdata"); @@ -94,6 +94,11 @@ FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings() SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::LoadGameFromSlot("SGCaptureSettings", 0)); if (SaveGame) { + ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject); + if (LuckyRobotsGameInstance) + { + LuckyRobotsGameInstance->CurrentCaptureSettingsData = SaveGame->CaptureSetting; + } return SaveGame->CaptureSetting; } else @@ -109,8 +114,14 @@ FCaptureSettingsData ULuckyRobotsFunctionLibrary::LoadCaptureSettings() return DefaultCaptureSetting; } -void ULuckyRobotsFunctionLibrary::SaveCaptureSettings(FCaptureSettingsData CaptureSetting) +void ULuckyRobotsFunctionLibrary::SaveCaptureSettings(const UObject* WorldContextObject, FCaptureSettingsData CaptureSetting) { + ULuckyRobotsGameInstance* LuckyRobotsGameInstance = GetLuckyRobotsGameInstance(WorldContextObject); + if (LuckyRobotsGameInstance) + { + LuckyRobotsGameInstance->CurrentCaptureSettingsData = CaptureSetting; + } + USG_CaptureSetting* SaveGame = nullptr; SaveGame = Cast<USG_CaptureSetting>(UGameplayStatics::LoadGameFromSlot("SGCaptureSettings", 0)); if (!SaveGame) diff --git a/Source/Luckyrobots/Private/LuckyRobotsGameInstance.cpp b/Source/Luckyrobots/Private/LuckyRobotsGameInstance.cpp index 4dccde57..7eb55513 100644 --- a/Source/Luckyrobots/Private/LuckyRobotsGameInstance.cpp +++ b/Source/Luckyrobots/Private/LuckyRobotsGameInstance.cpp @@ -133,3 +133,134 @@ void ULuckyRobotsGameInstance::DoSetTempTaskValueChange(bool IsClear) GameUserWidget->DoRefreshListView(); } } + + +void ULuckyRobotsGameInstance::SetCurrentFolderName(FString FolderName) +{ + CurrentCaptureSettingsData.FolderName = FText::FromString(FolderName); +} +void ULuckyRobotsGameInstance::SetCurrentFileName(FString FileName) +{ + CurrentCaptureSettingsData.FileName = FText::FromString(FileName); +} +void ULuckyRobotsGameInstance::SetCurrentWritesPerSec(int WritesPerSec) +{ + CurrentCaptureSettingsData.WritesPerSec = FText::FromString(FString::FromInt(WritesPerSec)); +} +void ULuckyRobotsGameInstance::SetCurrentIsScenario(bool IsScenario) +{ + CurrentCaptureSettingsData.IsScenario = IsScenario; +} +void ULuckyRobotsGameInstance::SetCurrentIsRandomLight(bool bLight) +{ + CurrentCaptureSettingsData.bLight = bLight; +} +void ULuckyRobotsGameInstance::SetCurrentIsRandomMaterials(bool bMaterials) +{ + CurrentCaptureSettingsData.bMaterials = bMaterials; +} +void ULuckyRobotsGameInstance::SetCurrentIsRandomRobotPosition(bool bRobotPosition) +{ + CurrentCaptureSettingsData.bRobotPosition = bRobotPosition; +} +void ULuckyRobotsGameInstance::SetCurrentIsRandomPets(bool bPets) +{ + CurrentCaptureSettingsData.bPets = bPets; +} +void ULuckyRobotsGameInstance::SetCurrentPetsNumber(int PetsNumber) +{ + CurrentCaptureSettingsData.NumberOfPets = FText::FromString(FString::FromInt(PetsNumber)); +} +void ULuckyRobotsGameInstance::SetCurrentIsRandomPeople(bool bPeople) +{ + CurrentCaptureSettingsData.bPeople = bPeople; +} +void ULuckyRobotsGameInstance::SetCurrentPeopleNumber(int PeopleNumber) +{ + CurrentCaptureSettingsData.NumberOfPeople = FText::FromString(FString::FromInt(PeopleNumber)); +} +void ULuckyRobotsGameInstance::SetCurrentIsRandomObjects(bool bObjects) +{ + CurrentCaptureSettingsData.bObjects = bObjects; +} +void ULuckyRobotsGameInstance::SetCurrentObjectsNumber(int ObjectsNumber) +{ + CurrentCaptureSettingsData.NumberOfObjects = FText::FromString(FString::FromInt(ObjectsNumber)); +} +void ULuckyRobotsGameInstance::SetCurrentRandomMeshes(TArray<TSoftObjectPtr<UStaticMeshComponent>> RandomMeshes) +{ + CurrentCaptureSettingsData.RandomMeshes = RandomMeshes; +} +void ULuckyRobotsGameInstance::SetCurrentIsInfiniteCapture(bool bInfiniteCapture) +{ + CurrentCaptureSettingsData.bInfiniteCapture = bInfiniteCapture; +} +void ULuckyRobotsGameInstance::SetCurrentCaptureNumber(int CaptureNumber) +{ + CurrentCaptureSettingsData.NumberOfCaptures = FText::FromString(FString::FromInt(CaptureNumber)); +} + +FString ULuckyRobotsGameInstance::GetCurrentFolderName() +{ + return CurrentCaptureSettingsData.FolderName.ToString(); +} +FString ULuckyRobotsGameInstance::GetCurrentFileName() +{ + return CurrentCaptureSettingsData.FileName.ToString(); +} +int ULuckyRobotsGameInstance::GetCurrentWritesPerSec() +{ + return FCString::Atoi(*(CurrentCaptureSettingsData.WritesPerSec.ToString())); +} +bool ULuckyRobotsGameInstance::GetCurrentIsScenario() +{ + return CurrentCaptureSettingsData.IsScenario; +} +bool ULuckyRobotsGameInstance::GetCurrentIsRandomLight() +{ + return CurrentCaptureSettingsData.bLight; +} +bool ULuckyRobotsGameInstance::GetCurrentIsRandomMaterials() +{ + return CurrentCaptureSettingsData.bMaterials; +} +bool ULuckyRobotsGameInstance::GetCurrentIsRandomRobotPosition() +{ + return CurrentCaptureSettingsData.bRobotPosition; +} +bool ULuckyRobotsGameInstance::GetCurrentIsRandomPets() +{ + return CurrentCaptureSettingsData.bPets; +} +int ULuckyRobotsGameInstance::GetCurrentPetsNumber() +{ + return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfPets.ToString())); +} +bool ULuckyRobotsGameInstance::GetCurrentIsRandomPeople() +{ + return CurrentCaptureSettingsData.bPeople; +} +int ULuckyRobotsGameInstance::GetCurrentPeopleNumber() +{ + return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfPeople.ToString())); +} +bool ULuckyRobotsGameInstance::GetCurrentIsRandomObjects() +{ + return CurrentCaptureSettingsData.bObjects; +} +int ULuckyRobotsGameInstance::GetCurrentObjectsNumber() +{ + return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfObjects.ToString())); +} +TArray<TSoftObjectPtr<UStaticMeshComponent>> ULuckyRobotsGameInstance::GetCurrentRandomMeshes() +{ + return CurrentCaptureSettingsData.RandomMeshes; +} +bool ULuckyRobotsGameInstance::GetCurrentIsInfiniteCapture() +{ + return CurrentCaptureSettingsData.bInfiniteCapture; +} +int ULuckyRobotsGameInstance::GetCurrentCaptureNumber() +{ + return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfCaptures.ToString())); +} \ No newline at end of file diff --git a/Source/Luckyrobots/Public/LuckyRobotsFunctionLibrary.h b/Source/Luckyrobots/Public/LuckyRobotsFunctionLibrary.h index 96e487f1..8ba16b72 100644 --- a/Source/Luckyrobots/Public/LuckyRobotsFunctionLibrary.h +++ b/Source/Luckyrobots/Public/LuckyRobotsFunctionLibrary.h @@ -29,9 +29,9 @@ public: UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject")) static void UpdateQualitySettings(const UObject* WorldContextObject); - UFUNCTION(BlueprintCallable) - static FCaptureSettingsData LoadCaptureSettings(); + UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject")) + static FCaptureSettingsData LoadCaptureSettings(const UObject* WorldContextObject); - UFUNCTION(BlueprintCallable) - static void SaveCaptureSettings(FCaptureSettingsData CaptureSetting); + UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject")) + static void SaveCaptureSettings(const UObject* WorldContextObject, FCaptureSettingsData CaptureSetting); }; diff --git a/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h b/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h index 3b74d424..7a719f37 100644 --- a/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h +++ b/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h @@ -24,41 +24,41 @@ public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") UDataTable* LevelDataTable; -//public: -// bool bIsFirstOpenGame; -// -// bool bIsDebug; -// bool bIsWidgetTestMode; -// bool bIsShowPath; -// -//public: -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// bool bIsCapture; -// -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// bool bIsCaptureHand; -// -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// bool bIsCaptureHead; -// -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// bool bScenarioCapture; -// -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// bool bIsMouseOpen; -// -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// bool bIschange; -// -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// int PerSecond; -// -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// FTransform TargetPosition; -// -// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") -// FCaptureSettingsData CaptureSettingsData; -// +public: + bool bIsFirstOpenGame; + + bool bIsDebug; + bool bIsWidgetTestMode; + bool bIsShowPath; + +public: + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + bool bIsCapture; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + bool bIsCaptureHand; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + bool bIsCaptureHead; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + bool bScenarioCapture; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + bool bIsMouseOpen; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + bool bIschange; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + int FolderCount; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + FTransform TargetPosition; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") + FCaptureSettingsData CurrentCaptureSettingsData; + public: UPROPERTY(EditAnywhere, BlueprintReadWrite) ERobotsName CurrentSelectRobot = ERobotsName::None; @@ -122,6 +122,104 @@ public: UFUNCTION(BlueprintCallable) void DoSetTempTaskValueChange(bool IsClear); +public: + UFUNCTION(BlueprintCallable) + void SetCurrentFolderName(FString FolderName); + + UFUNCTION(BlueprintCallable) + void SetCurrentFileName(FString FileName); + + UFUNCTION(BlueprintCallable) + void SetCurrentWritesPerSec(int WritesPerSec); + + UFUNCTION(BlueprintCallable) + void SetCurrentIsScenario(bool IsScenario); + + UFUNCTION(BlueprintCallable) + void SetCurrentIsRandomLight(bool bLight); + + UFUNCTION(BlueprintCallable) + void SetCurrentIsRandomMaterials(bool bMaterials); + + UFUNCTION(BlueprintCallable) + void SetCurrentIsRandomRobotPosition(bool bRobotPosition); + + UFUNCTION(BlueprintCallable) + void SetCurrentIsRandomPets(bool bPets); + + UFUNCTION(BlueprintCallable) + void SetCurrentPetsNumber(int PetsNumber); + + UFUNCTION(BlueprintCallable) + void SetCurrentIsRandomPeople(bool bPeople); + + UFUNCTION(BlueprintCallable) + void SetCurrentPeopleNumber(int PeopleNumber); + + UFUNCTION(BlueprintCallable) + void SetCurrentIsRandomObjects(bool bObjects); + + UFUNCTION(BlueprintCallable) + void SetCurrentObjectsNumber(int ObjectsNumber); + + UFUNCTION(BlueprintCallable) + void SetCurrentRandomMeshes(TArray<TSoftObjectPtr<UStaticMeshComponent>> RandomMeshes); + + UFUNCTION(BlueprintCallable) + void SetCurrentIsInfiniteCapture(bool bInfiniteCapture); + + UFUNCTION(BlueprintCallable) + void SetCurrentCaptureNumber(int CaptureNumber); + +public: + UFUNCTION(BlueprintPure) + FString GetCurrentFolderName(); + + UFUNCTION(BlueprintPure) + FString GetCurrentFileName(); + + UFUNCTION(BlueprintPure) + int GetCurrentWritesPerSec(); + + UFUNCTION(BlueprintPure) + bool GetCurrentIsScenario(); + + UFUNCTION(BlueprintPure) + bool GetCurrentIsRandomLight(); + + UFUNCTION(BlueprintPure) + bool GetCurrentIsRandomMaterials(); + + UFUNCTION(BlueprintPure) + bool GetCurrentIsRandomRobotPosition(); + + UFUNCTION(BlueprintPure) + bool GetCurrentIsRandomPets(); + + UFUNCTION(BlueprintPure) + int GetCurrentPetsNumber(); + + UFUNCTION(BlueprintPure) + bool GetCurrentIsRandomPeople(); + + UFUNCTION(BlueprintPure) + int GetCurrentPeopleNumber(); + + UFUNCTION(BlueprintPure) + bool GetCurrentIsRandomObjects(); + + UFUNCTION(BlueprintPure) + int GetCurrentObjectsNumber(); + + UFUNCTION(BlueprintPure) + TArray<TSoftObjectPtr<UStaticMeshComponent>> GetCurrentRandomMeshes(); + + UFUNCTION(BlueprintPure) + bool GetCurrentIsInfiniteCapture(); + + UFUNCTION(BlueprintPure) + int GetCurrentCaptureNumber(); + public: UFUNCTION(BlueprintImplementableEvent) void DoGetDispatch(const FString& EventName, USIOJsonValue* EventData);