diff --git a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll index 2e93a0d..f2bf645 100644 Binary files a/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll and b/ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish.dll differ diff --git a/ProjectFish/Content/UI/Quest/Widget/UMG_QuestInfo_Widget.uasset b/ProjectFish/Content/UI/Quest/Widget/UMG_QuestInfo_Widget.uasset index 3c9a48a..4dfd8a5 100644 Binary files a/ProjectFish/Content/UI/Quest/Widget/UMG_QuestInfo_Widget.uasset and b/ProjectFish/Content/UI/Quest/Widget/UMG_QuestInfo_Widget.uasset differ diff --git a/ProjectFish/Content/UI/Quest/Widget/UMG_Quest_Switcher.uasset b/ProjectFish/Content/UI/Quest/Widget/UMG_Quest_Switcher.uasset new file mode 100644 index 0000000..c7fcd4b Binary files /dev/null and b/ProjectFish/Content/UI/Quest/Widget/UMG_Quest_Switcher.uasset differ diff --git a/ProjectFish/Content/UI/Quest/Widget/UMG_Quest_SwitcherBtns.uasset b/ProjectFish/Content/UI/Quest/Widget/UMG_Quest_SwitcherBtns.uasset deleted file mode 100644 index e7e990e..0000000 Binary files a/ProjectFish/Content/UI/Quest/Widget/UMG_Quest_SwitcherBtns.uasset and /dev/null differ diff --git a/ProjectFish/Content/UI/Quest/Window/UMG_QuestWindow.uasset b/ProjectFish/Content/UI/Quest/Window/UMG_QuestWindow.uasset index 372b233..2b9c6e9 100644 Binary files a/ProjectFish/Content/UI/Quest/Window/UMG_QuestWindow.uasset and b/ProjectFish/Content/UI/Quest/Window/UMG_QuestWindow.uasset differ diff --git a/ProjectFish/Source/ProjectFish/Gameplay/Subsystem/GameInfoManager.cpp b/ProjectFish/Source/ProjectFish/Gameplay/Subsystem/GameInfoManager.cpp index 8f33a9e..d3d6b4f 100644 --- a/ProjectFish/Source/ProjectFish/Gameplay/Subsystem/GameInfoManager.cpp +++ b/ProjectFish/Source/ProjectFish/Gameplay/Subsystem/GameInfoManager.cpp @@ -10,6 +10,7 @@ FString UGameInfoManager::SaveGameSlotName = TEXT("GameInfo"); void UGameInfoManager::Initialize(FSubsystemCollectionBase& Collection) { Super::Initialize(Collection); + Collection.InitializeDependency(); if (!LoadGameInfo()) { UE_LOG(LogTemp, Warning, TEXT("本地存档不存在加载失败")); @@ -54,16 +55,18 @@ bool UGameInfoManager::LoadGameInfo() { QuestManager->LoadFromSaveData(PlayerInfo->QuestSaveData); } - else - { - TArray SaveData; - QuestManager->LoadFromSaveData(SaveData); - } } - - return true; } + else + { + // 加载任务数据 + if (UQuestManager* QuestManager = GetGameInstance()->GetSubsystem()) + { + TArray SaveData; + QuestManager->LoadFromSaveData(SaveData); + } + } return false; } diff --git a/ProjectFish/Source/ProjectFish/Gameplay/Subsystem/QuestManager.cpp b/ProjectFish/Source/ProjectFish/Gameplay/Subsystem/QuestManager.cpp index eb5781a..efbd19c 100644 --- a/ProjectFish/Source/ProjectFish/Gameplay/Subsystem/QuestManager.cpp +++ b/ProjectFish/Source/ProjectFish/Gameplay/Subsystem/QuestManager.cpp @@ -48,7 +48,7 @@ void UQuestManager::CheckAcceptableQuests() { for (auto QuestAsset : QuestAssets) { - if (!ActiveQuestsMap.Find(QuestAsset->QuestID) && CompletedQuestIDs.Contains(QuestAsset->QuestID)) + if (!ActiveQuestsMap.Find(QuestAsset->QuestID) && !CompletedQuestIDs.Contains(QuestAsset->QuestID)) { //任务不在当前已激活的任务 和 已完成的任务列表中 AcceptQuest(QuestAsset);