完善鱼市任务提交界面
This commit is contained in:
parent
7718b4b3c0
commit
99a6d3b35a
BIN
ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.dll
Normal file
BIN
ProjectFish/Binaries/Win64/UnrealEditor-ProjectFish-0001.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,7 +2,7 @@
|
|||||||
"BuildId": "37670630",
|
"BuildId": "37670630",
|
||||||
"Modules":
|
"Modules":
|
||||||
{
|
{
|
||||||
"ProjectFish": "UnrealEditor-ProjectFish.dll",
|
"ProjectFish": "UnrealEditor-ProjectFish-0001.dll",
|
||||||
"ProjectFishEditor": "UnrealEditor-ProjectFishEditor.dll"
|
"ProjectFishEditor": "UnrealEditor-ProjectFishEditor-0001.dll"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BIN
ProjectFish/Content/Textures/Market/MarketNPC.uasset
Normal file
BIN
ProjectFish/Content/Textures/Market/MarketNPC.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
ProjectFish/Content/UI/Market/Window/UMG_Market_Normal.uasset
Normal file
BIN
ProjectFish/Content/UI/Market/Window/UMG_Market_Normal.uasset
Normal file
Binary file not shown.
BIN
ProjectFish/Content/UI/Market/Window/UMG_Market_Quest.uasset
Normal file
BIN
ProjectFish/Content/UI/Market/Window/UMG_Market_Quest.uasset
Normal file
Binary file not shown.
Binary file not shown.
@ -2,6 +2,6 @@
|
|||||||
"BuildId": "37670630",
|
"BuildId": "37670630",
|
||||||
"Modules":
|
"Modules":
|
||||||
{
|
{
|
||||||
"DeskMode": "UnrealEditor-DeskMode.dll"
|
"DeskMode": "UnrealEditor-DeskMode-0001.dll"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -82,7 +82,7 @@ bool UQuestManager::AcceptQuest(UQuestAsset* QuestAsset, bool bSaveGameInfo )
|
|||||||
ActiveQuestsMap.Add(QuestAsset->QuestID, RuntimeData);
|
ActiveQuestsMap.Add(QuestAsset->QuestID, RuntimeData);
|
||||||
|
|
||||||
// 触发事件
|
// 触发事件
|
||||||
OnQuestStateChanged.Broadcast(QuestAsset->QuestID);
|
OnQuestStateChanged.Broadcast(QuestAsset->QuestID, EQuestState::InProgress);
|
||||||
UE_LOG(LogTemp, Warning, TEXT("Quest %s Accepted"), *QuestAsset->QuestName.ToString());
|
UE_LOG(LogTemp, Warning, TEXT("Quest %s Accepted"), *QuestAsset->QuestName.ToString());
|
||||||
|
|
||||||
if (bSaveGameInfo)
|
if (bSaveGameInfo)
|
||||||
@ -138,7 +138,7 @@ bool UQuestManager::CompleteQuest(int32 QuestID)
|
|||||||
CompletedQuestIDs.Add(QuestID);
|
CompletedQuestIDs.Add(QuestID);
|
||||||
|
|
||||||
// 触发事件
|
// 触发事件
|
||||||
OnQuestStateChanged.Broadcast(QuestID);
|
OnQuestStateChanged.Broadcast(QuestID, EQuestState::Completed);
|
||||||
UE_LOG(LogTemp, Warning, TEXT("Quest id = %d Complete"), QuestID);
|
UE_LOG(LogTemp, Warning, TEXT("Quest id = %d Complete"), QuestID);
|
||||||
// // 从活动任务中移除
|
// // 从活动任务中移除
|
||||||
// ActiveQuestsMap.Remove(QuestID);
|
// ActiveQuestsMap.Remove(QuestID);
|
||||||
@ -158,7 +158,7 @@ bool UQuestManager::AbandonQuest(int32 QuestID)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ActiveQuestsMap.Remove(QuestID);
|
ActiveQuestsMap.Remove(QuestID);
|
||||||
OnQuestStateChanged.Broadcast(QuestID);
|
OnQuestStateChanged.Broadcast(QuestID, EQuestState::Failed);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -246,6 +246,23 @@ bool UQuestManager::IsQuestFollowing(int32 QuestID) const
|
|||||||
return FollowingQuestIDs.Contains(QuestID);
|
return FollowingQuestIDs.Contains(QuestID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TArray<FQuestTargetInfo> UQuestManager::GetQuestTargets(int32 QuestID) const
|
||||||
|
{
|
||||||
|
TArray<FQuestTargetInfo> Targets;
|
||||||
|
for (auto quest:QuestAssets)
|
||||||
|
{
|
||||||
|
if (quest->QuestID == QuestID)
|
||||||
|
{
|
||||||
|
for (auto TargetInfo: quest->Objectives)
|
||||||
|
{
|
||||||
|
Targets.Add(TargetInfo.TargetID);
|
||||||
|
}
|
||||||
|
return Targets;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Targets;
|
||||||
|
}
|
||||||
|
|
||||||
TArray<UQuestAsset*> UQuestManager::GetActiveQuests() const
|
TArray<UQuestAsset*> UQuestManager::GetActiveQuests() const
|
||||||
{
|
{
|
||||||
TArray<UQuestAsset*> Result;
|
TArray<UQuestAsset*> Result;
|
||||||
|
|||||||
@ -31,7 +31,7 @@ struct FQuestRuntimeData
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 任务事件委托
|
// 任务事件委托
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnQuestStateChanged, int32, QuestID);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnQuestStateChanged, int32, QuestID, EQuestState, QuestState);
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnQuestObjectiveUpdated, int32, QuestID, int32, ObjectiveIndex);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnQuestObjectiveUpdated, int32, QuestID, int32, ObjectiveIndex);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -74,7 +74,7 @@ public:
|
|||||||
// ========== 任务进度 ==========
|
// ========== 任务进度 ==========
|
||||||
|
|
||||||
/** 更新任务目标进度(收集物品、击败敌人、到达地点) */
|
/** 更新任务目标进度(收集物品、击败敌人、到达地点) */
|
||||||
UFUNCTION(BlueprintCallable, Category = "Quest")
|
//UFUNCTION(BlueprintCallable, Category = "Quest")
|
||||||
void UpdateObjectiveProgress(int32 QuestID, int32 ObjectiveIndex, int32 Progress);
|
void UpdateObjectiveProgress(int32 QuestID, int32 ObjectiveIndex, int32 Progress);
|
||||||
|
|
||||||
/** 通过目标ID更新进度(自动查找对应目标) */
|
/** 通过目标ID更新进度(自动查找对应目标) */
|
||||||
@ -91,6 +91,10 @@ public:
|
|||||||
UFUNCTION(BlueprintPure, Category = "Quest")
|
UFUNCTION(BlueprintPure, Category = "Quest")
|
||||||
bool IsQuestFollowing(int32 QuestID) const;
|
bool IsQuestFollowing(int32 QuestID) const;
|
||||||
|
|
||||||
|
/** 获取指定任务的任务目标 */
|
||||||
|
UFUNCTION(BlueprintPure, Category = "Quest")
|
||||||
|
TArray<FQuestTargetInfo> GetQuestTargets(int32 QuestID) const;
|
||||||
|
|
||||||
/** 获取所有进行中的任务 */
|
/** 获取所有进行中的任务 */
|
||||||
UFUNCTION(BlueprintPure, Category = "Quest")
|
UFUNCTION(BlueprintPure, Category = "Quest")
|
||||||
TArray<UQuestAsset*> GetActiveQuests() const;
|
TArray<UQuestAsset*> GetActiveQuests() const;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user