diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll index ef81cd9..3416d8f 100644 Binary files a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll differ diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor.dll b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor.dll index 03696b3..be13fa2 100644 Binary files a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor.dll and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFishEditor.dll differ diff --git a/ProjectFish/Content/DataAssets/Dialogue/Dialogue_Battle.uasset b/ProjectFish/Content/DataAssets/Dialogue/Dialogue_Battle.uasset new file mode 100644 index 0000000..3a384d3 Binary files /dev/null and b/ProjectFish/Content/DataAssets/Dialogue/Dialogue_Battle.uasset differ diff --git a/ProjectFish/Content/DataAssets/Fish/Fish_Boss.uasset b/ProjectFish/Content/DataAssets/Fish/Fish_Boss.uasset index 7356f20..9b9454b 100644 Binary files a/ProjectFish/Content/DataAssets/Fish/Fish_Boss.uasset and b/ProjectFish/Content/DataAssets/Fish/Fish_Boss.uasset differ diff --git a/ProjectFish/Content/DataAssets/Fish/Fish_Tutorial2.uasset b/ProjectFish/Content/DataAssets/Fish/Fish_Tutorial2.uasset new file mode 100644 index 0000000..e54ccfa Binary files /dev/null and b/ProjectFish/Content/DataAssets/Fish/Fish_Tutorial2.uasset differ diff --git a/ProjectFish/Content/DataAssets/FishReward/Fish1Reward.uasset b/ProjectFish/Content/DataAssets/FishReward/Fish1Reward.uasset index 6597492..d7bbba3 100644 Binary files a/ProjectFish/Content/DataAssets/FishReward/Fish1Reward.uasset and b/ProjectFish/Content/DataAssets/FishReward/Fish1Reward.uasset differ diff --git a/ProjectFish/Content/DataAssets/FishReward/Reward_MagicBook.uasset b/ProjectFish/Content/DataAssets/FishReward/Reward_MagicBook.uasset new file mode 100644 index 0000000..af665e3 Binary files /dev/null and b/ProjectFish/Content/DataAssets/FishReward/Reward_MagicBook.uasset differ diff --git a/ProjectFish/Content/DataAssets/FishReward/Shapes/Shape_4x3.uasset b/ProjectFish/Content/DataAssets/FishReward/Shapes/Shape_4x3.uasset new file mode 100644 index 0000000..e3640ce Binary files /dev/null and b/ProjectFish/Content/DataAssets/FishReward/Shapes/Shape_4x3.uasset differ diff --git a/ProjectFish/Content/DataTable/DT_TutorialSteps.uasset b/ProjectFish/Content/DataTable/DT_TutorialSteps.uasset index db88026..746f6f5 100644 Binary files a/ProjectFish/Content/DataTable/DT_TutorialSteps.uasset and b/ProjectFish/Content/DataTable/DT_TutorialSteps.uasset differ diff --git a/ProjectFish/Content/Gameplay/TutorialSystem/TutorialTask_ConfigFish.uasset b/ProjectFish/Content/Gameplay/TutorialSystem/TutorialTask_ConfigFish.uasset new file mode 100644 index 0000000..8ccf35d Binary files /dev/null and b/ProjectFish/Content/Gameplay/TutorialSystem/TutorialTask_ConfigFish.uasset differ diff --git a/ProjectFish/Content/Textures/FishingRewards/MagicBook.uasset b/ProjectFish/Content/Textures/FishingRewards/MagicBook.uasset new file mode 100644 index 0000000..e4b190e Binary files /dev/null and b/ProjectFish/Content/Textures/FishingRewards/MagicBook.uasset differ diff --git a/ProjectFish/Content/UI/Fishing/Windows/UMG_ManagerFishingREward_Window.uasset b/ProjectFish/Content/UI/Fishing/Windows/UMG_ManagerFishingREward_Window.uasset index 3c479a4..6519f4a 100644 Binary files a/ProjectFish/Content/UI/Fishing/Windows/UMG_ManagerFishingREward_Window.uasset and b/ProjectFish/Content/UI/Fishing/Windows/UMG_ManagerFishingREward_Window.uasset differ diff --git a/ProjectFish/Plugins/Dialogue/Binaries/Win64/UnrealEditor-Dialogue.dll b/ProjectFish/Plugins/Dialogue/Binaries/Win64/UnrealEditor-Dialogue.dll index a0ec688..f210618 100644 Binary files a/ProjectFish/Plugins/Dialogue/Binaries/Win64/UnrealEditor-Dialogue.dll and b/ProjectFish/Plugins/Dialogue/Binaries/Win64/UnrealEditor-Dialogue.dll differ diff --git a/ProjectFish/Source/ProjectFish/Data/PlayerInfoSaveGame.cpp b/ProjectFish/Source/ProjectFish/Data/PlayerInfoSaveGame.cpp index 60e607b..a6cba9e 100644 --- a/ProjectFish/Source/ProjectFish/Data/PlayerInfoSaveGame.cpp +++ b/ProjectFish/Source/ProjectFish/Data/PlayerInfoSaveGame.cpp @@ -2,3 +2,15 @@ #include "PlayerInfoSaveGame.h" + +#include "ProjectFish/Gameplay/Subsystem/GameInfoManager.h" + +void UPlayerInfoSaveGame::SetShipContainerItems(TArray NewItems) +{ + ShipContainerItems = NewItems; + if (GetWorld()) + { + GetWorld()->GetGameInstance()->GetSubsystem()->SaveGameInfo(); + OnShipContainerUpdate.Broadcast(); + } +} diff --git a/ProjectFish/Source/ProjectFish/Data/PlayerInfoSaveGame.h b/ProjectFish/Source/ProjectFish/Data/PlayerInfoSaveGame.h index b1cba1b..93d5b57 100644 --- a/ProjectFish/Source/ProjectFish/Data/PlayerInfoSaveGame.h +++ b/ProjectFish/Source/ProjectFish/Data/PlayerInfoSaveGame.h @@ -9,6 +9,7 @@ #include "ProjectFish/Quest/QuestTypes.h" #include "PlayerInfoSaveGame.generated.h" +DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnShipContainerUpdate); /** * */ @@ -31,7 +32,7 @@ public: FPrimaryAssetId ShipContainerShapeID; // 船舱物品存档数据 - UPROPERTY(SaveGame, BlueprintReadWrite, meta = (ToolTip = "船舱物品数据")) + UPROPERTY(SaveGame, BlueprintReadOnly, meta = (ToolTip = "船舱物品数据")) TArray ShipContainerItems; UPROPERTY(SaveGame, BlueprintReadWrite, meta = (ToolTip = "仓库资源")) @@ -55,4 +56,11 @@ public: //已战胜的鱼 UPROPERTY(SaveGame, BlueprintReadWrite, meta = (ToolTip = "被击败的鱼")) TArray Fish_defeated_IDS; + +protected: + UPROPERTY(BlueprintAssignable, Category = "PlayerInfoSaveGame") + FOnShipContainerUpdate OnShipContainerUpdate; + + UFUNCTION(BlueprintCallable, Category= "PlayerInfoSaveGame") + void SetShipContainerItems(TArray NewItems); }; diff --git a/ProjectFish/Source/ProjectFish/Definations.h b/ProjectFish/Source/ProjectFish/Definations.h index b166277..ea304fe 100644 --- a/ProjectFish/Source/ProjectFish/Definations.h +++ b/ProjectFish/Source/ProjectFish/Definations.h @@ -507,6 +507,10 @@ public: TSubclassOf TutorialUI; //控制ui的显示 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Tutorial Asset") - TArray UIControlParams; + TArray UIControlParams; + + //引导task + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Tutorial Asset") + TSubclassOf TutorialTaskClass; }; diff --git a/ProjectFish/Source/ProjectFish/Utils/FishFunctionLibrary.cpp b/ProjectFish/Source/ProjectFish/Utils/FishFunctionLibrary.cpp index ae988b4..3e5378f 100644 --- a/ProjectFish/Source/ProjectFish/Utils/FishFunctionLibrary.cpp +++ b/ProjectFish/Source/ProjectFish/Utils/FishFunctionLibrary.cpp @@ -3,6 +3,7 @@ #include "FishFunctionLibrary.h" +#include "EngineUtils.h" #include "Kismet/GameplayStatics.h" #include "ProjectFish/Data/ContainerInfo.h" @@ -25,3 +26,20 @@ int32 UFishFunctionLibrary::GetContainerItemHeight(const UObject* WorldContextOb { return ContainerItem.GetItemHeight(); } + +AActor* UFishFunctionLibrary::GetActorOfClass(const UObject* WorldContextObject, TSubclassOf ActorClass) +{ + if (ActorClass) + { + if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull)) + { + for (TActorIterator It(World, ActorClass); It; ++It) + { + AActor* Actor = *It; + return Actor; + } + } + } + + return nullptr; +} diff --git a/ProjectFish/Source/ProjectFish/Utils/FishFunctionLibrary.h b/ProjectFish/Source/ProjectFish/Utils/FishFunctionLibrary.h index 27eb7e3..4d9c307 100644 --- a/ProjectFish/Source/ProjectFish/Utils/FishFunctionLibrary.h +++ b/ProjectFish/Source/ProjectFish/Utils/FishFunctionLibrary.h @@ -21,6 +21,9 @@ public: UFUNCTION(BlueprintPure, Category = "FishFunctionLibrary", meta=(WorldContext="WorldContextObject")) static int32 GetContainerItemWiidth(const UObject* WorldContextObject, FContainerItem ContainerItem); - UFUNCTION(BlueprintPure, Category = "FishFunctionLibrary", meta=(WorldContext="WorldContextObject")) - static int32 GetContainerItemHeight(const UObject* WorldContextObject, FContainerItem ContainerItem); + UFUNCTION(BlueprintPure, Category = "FishFunctionLibrary", meta=(WorldContext="WorldContextObject")) + static int32 GetContainerItemHeight(const UObject* WorldContextObject, FContainerItem ContainerItem); + + UFUNCTION(BlueprintCallable, Category="Actor") + static AActor* GetActorOfClass(const UObject* WorldContextObject, TSubclassOf ActorClass); };