diff --git a/Content/GameBP/Datatable/SelectableItemData/DT_Decoration.uasset b/Content/GameBP/Datatable/SelectableItemData/DT_Decoration.uasset index 4486763a..f033336f 100644 Binary files a/Content/GameBP/Datatable/SelectableItemData/DT_Decoration.uasset and b/Content/GameBP/Datatable/SelectableItemData/DT_Decoration.uasset differ diff --git a/Content/GameBP/Datatable/SelectableItemData/DT_Electronics.uasset b/Content/GameBP/Datatable/SelectableItemData/DT_Electronics.uasset index 2b60ff1b..60bbf575 100644 Binary files a/Content/GameBP/Datatable/SelectableItemData/DT_Electronics.uasset and b/Content/GameBP/Datatable/SelectableItemData/DT_Electronics.uasset differ diff --git a/Content/GameBP/Datatable/SelectableItemData/DT_Furniture.uasset b/Content/GameBP/Datatable/SelectableItemData/DT_Furniture.uasset index 7b2857b4..69447587 100644 Binary files a/Content/GameBP/Datatable/SelectableItemData/DT_Furniture.uasset and b/Content/GameBP/Datatable/SelectableItemData/DT_Furniture.uasset differ diff --git a/Content/GameBP/Datatable/SelectableItemData/DT_Kitchenware.uasset b/Content/GameBP/Datatable/SelectableItemData/DT_Kitchenware.uasset index 3afe95fa..5f418910 100644 Binary files a/Content/GameBP/Datatable/SelectableItemData/DT_Kitchenware.uasset and b/Content/GameBP/Datatable/SelectableItemData/DT_Kitchenware.uasset differ diff --git a/Content/GameBP/UI/Settings/WB_AllRandom.uasset b/Content/GameBP/UI/Settings/WB_AllRandom.uasset index 411f9f76..ce496c46 100644 Binary files a/Content/GameBP/UI/Settings/WB_AllRandom.uasset and b/Content/GameBP/UI/Settings/WB_AllRandom.uasset differ diff --git a/Content/GameBP/UI/Settings/WB_CaptureSettings.uasset b/Content/GameBP/UI/Settings/WB_CaptureSettings.uasset index 74ae203e..c01e83de 100644 Binary files a/Content/GameBP/UI/Settings/WB_CaptureSettings.uasset and b/Content/GameBP/UI/Settings/WB_CaptureSettings.uasset differ diff --git a/Content/GameBP/UI/Settings/WB_ObjectsListCheckbox.uasset b/Content/GameBP/UI/Settings/WB_ObjectsListCheckbox.uasset new file mode 100644 index 00000000..a385d810 Binary files /dev/null and b/Content/GameBP/UI/Settings/WB_ObjectsListCheckbox.uasset differ diff --git a/Content/GameBP/UI/Settings/WB_TaskListView.uasset b/Content/GameBP/UI/Settings/WB_TaskListView.uasset index a56a6ec5..9f3d9cac 100644 Binary files a/Content/GameBP/UI/Settings/WB_TaskListView.uasset and b/Content/GameBP/UI/Settings/WB_TaskListView.uasset differ diff --git a/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectListBox1.uasset b/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectListBox1.uasset index 2d636a06..05975c89 100644 Binary files a/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectListBox1.uasset and b/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectListBox1.uasset differ diff --git a/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset b/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset index a7db3059..834ed6c9 100644 Binary files a/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset and b/Content/luckyBot/Luckywidget/ChildItems/WB_ObjectsListCheckbox.uasset differ diff --git a/Source/LuckyWorldV2/Private/UI/Settings/TaskListViewUserWidget.cpp b/Source/LuckyWorldV2/Private/UI/Settings/TaskListViewUserWidget.cpp index 71f21a85..fede5148 100644 --- a/Source/LuckyWorldV2/Private/UI/Settings/TaskListViewUserWidget.cpp +++ b/Source/LuckyWorldV2/Private/UI/Settings/TaskListViewUserWidget.cpp @@ -2,3 +2,40 @@ #include "UI/Settings/TaskListViewUserWidget.h" +#include "Components/VerticalBox.h" +#include "Components/WidgetSwitcher.h" +#include "Core/LuckyRobotsGameInstance.h" +#include "UI/Settings/ObjectsListUserWidget.h" + +void UTaskListViewUserWidget::DoUpdateObject(TArray> StaticMeshList) +{ + if (GetObjectListView()) + { + GetObjectListView()->ClearChildren(); + + ULuckyRobotsGameInstance* GameInstance = Cast(GetGameInstance()); + if (GameInstance) + { + TArray SelectableItemList = GameInstance->GetSelectableItemList(EItemCategory::Furniture); + for (auto TempStaticMesh : StaticMeshList) + { + for (auto SelectableItem : SelectableItemList) + { + if (SelectableItem.Mesh == TempStaticMesh) + { + UObjectsListUserWidget* ObjectsListUserWidget = CreateWidget(this, ObjectsListUserWidgetClass); + if (ObjectsListUserWidget) + { + ObjectsListUserWidget->SelectableItemData = SelectableItem; + GetObjectListView()->AddChild(ObjectsListUserWidget); + ObjectsListUserWidget->SetPadding(FMargin(0.0f, 5.0f, 0.0f, 0.0f)); + } + break; + } + } + } + } + + GetWidgetSwitcher()->SetActiveWidgetIndex(1); + } +} \ No newline at end of file diff --git a/Source/LuckyWorldV2/Public/UI/Settings/TaskListViewUserWidget.h b/Source/LuckyWorldV2/Public/UI/Settings/TaskListViewUserWidget.h index 88b40e43..3e42aada 100644 --- a/Source/LuckyWorldV2/Public/UI/Settings/TaskListViewUserWidget.h +++ b/Source/LuckyWorldV2/Public/UI/Settings/TaskListViewUserWidget.h @@ -6,7 +6,13 @@ #include "Blueprint/UserWidget.h" #include "TaskListViewUserWidget.generated.h" +DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnAddButtonClick); + class UListView; +class UVerticalBox; +class UWidgetSwitcher; +class UObjectsListUserWidget; +class UStaticMesh; /** * */ @@ -15,7 +21,46 @@ class LUCKYWORLDV2_API UTaskListViewUserWidget : public UUserWidget { GENERATED_BODY() +public: + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") + FString TaskListLabel; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") + bool bIsEnableSetting; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") + FString SettingFieldLabel; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") + UTexture2D* SettingIcon; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") + FString SettingString; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") + bool bIsEnableAddButton; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") + FString AddButtonLabel; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") + TSubclassOf ObjectsListUserWidgetClass; + +public: + UPROPERTY(BlueprintCallable, BlueprintAssignable) + FOnAddButtonClick OnAddButtonClick; + +public: + UFUNCTION(BlueprintCallable) + void DoUpdateObject(TArray> StaticMeshList); + public: UFUNCTION(BlueprintPure, BlueprintImplementableEvent) UListView* GetTaskListView(); + + UFUNCTION(BlueprintPure, BlueprintImplementableEvent) + UVerticalBox* GetObjectListView(); + + UFUNCTION(BlueprintPure, BlueprintImplementableEvent) + UWidgetSwitcher* GetWidgetSwitcher(); };