From 9269705eeebc917cb7cc312af7603e294e6eae37 Mon Sep 17 00:00:00 2001 From: Chomp Date: Sun, 12 Jan 2025 19:12:35 +0000 Subject: [PATCH] Fixed types + Implemented QuestController/helper method --- Core/Callbacks/HideoutCallbacks.cs | 2 +- Core/Controllers/AchievementController.cs | 4 ++-- Core/Controllers/QuestController.cs | 10 ++++++++- Core/Helpers/QuestHelper.cs | 25 ++++++++++++++++++++--- Core/Models/Eft/Common/Tables/Quest.cs | 7 +++++-- 5 files changed, 39 insertions(+), 9 deletions(-) diff --git a/Core/Callbacks/HideoutCallbacks.cs b/Core/Callbacks/HideoutCallbacks.cs index d3e533b8..3e29cfb2 100644 --- a/Core/Callbacks/HideoutCallbacks.cs +++ b/Core/Callbacks/HideoutCallbacks.cs @@ -1,4 +1,4 @@ -using Core.Annotations; +using Core.Annotations; using Core.Controllers; using Core.DI; using Core.Models.Eft.Common; diff --git a/Core/Controllers/AchievementController.cs b/Core/Controllers/AchievementController.cs index 7db73a05..3ebda022 100644 --- a/Core/Controllers/AchievementController.cs +++ b/Core/Controllers/AchievementController.cs @@ -1,4 +1,4 @@ -using Core.Annotations; +using Core.Annotations; using Core.Models.Eft.Profile; using Core.Services; @@ -22,7 +22,7 @@ public class AchievementController public GetAchievementsResponse GetAchievements(string sessionID) { - return new() + return new GetAchievementsResponse { Achievements = _databaseService.GetAchievements() }; diff --git a/Core/Controllers/QuestController.cs b/Core/Controllers/QuestController.cs index 310e7a89..66982644 100644 --- a/Core/Controllers/QuestController.cs +++ b/Core/Controllers/QuestController.cs @@ -1,4 +1,5 @@ using Core.Annotations; +using Core.Helpers; using Core.Models.Eft.Common; using Core.Models.Eft.Common.Tables; using Core.Models.Eft.ItemEvent; @@ -9,6 +10,13 @@ namespace Core.Controllers; [Injectable] public class QuestController { + private readonly QuestHelper _questHelper; + + public QuestController( + QuestHelper questHelper) + { + _questHelper = questHelper; + } // TODO public ItemEventRouterResponse CompleteQuest(PmcData pmcData, CompleteQuestRequestData info, string sessionId) { @@ -32,6 +40,6 @@ public class QuestController public List GetClientQuest(string sessionId) { - throw new NotImplementedException(); + return _questHelper.GetClientQuests(sessionId); } } diff --git a/Core/Helpers/QuestHelper.cs b/Core/Helpers/QuestHelper.cs index 62fc08cd..9c2dd66c 100644 --- a/Core/Helpers/QuestHelper.cs +++ b/Core/Helpers/QuestHelper.cs @@ -1,16 +1,35 @@ -using Core.Annotations; +using Core.Annotations; using Core.Models.Eft.Common; using Core.Models.Eft.Common.Tables; using Core.Models.Eft.Hideout; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Quests; using Core.Models.Enums; +using Core.Services; +using ILogger = Core.Models.Utils.ILogger; namespace Core.Helpers; [Injectable] public class QuestHelper { + private readonly ILogger _logger; + private readonly DatabaseService _databaseService; + private readonly QuestConditionHelper _questConditionHelper; + private readonly ProfileHelper _profileHelper; + + public QuestHelper( + ILogger logger, + DatabaseService databaseService, + QuestConditionHelper questConditionHelper, + ProfileHelper profileHelper) + { + _logger = logger; + _databaseService = databaseService; + _questConditionHelper = questConditionHelper; + _profileHelper = profileHelper; + } + /// /// Get status of a quest in player profile by its id /// @@ -292,7 +311,7 @@ public class QuestHelper */ public List GetQuestsFromDb() { - throw new NotImplementedException(); + return _databaseService.GetQuests().Values.ToList(); } /** @@ -579,7 +598,7 @@ public class QuestHelper * @param playerLevel level of player to test against quest * @returns true if quest can be seen/accepted by player of defined level */ - protected bool PlayerLevelFulfillsQuestRequirement(Quest quest, int playerLevel) + protected bool PlayerLevelFulfillsQuestRequirement(Quest quest, double playerLevel) { throw new NotImplementedException(); } diff --git a/Core/Models/Eft/Common/Tables/Quest.cs b/Core/Models/Eft/Common/Tables/Quest.cs index 17880aaf..98bb3434 100644 --- a/Core/Models/Eft/Common/Tables/Quest.cs +++ b/Core/Models/Eft/Common/Tables/Quest.cs @@ -1,4 +1,4 @@ -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; using Core.Models.Enums; using Core.Utils.Json.Converters; @@ -12,6 +12,9 @@ public class Quest [JsonPropertyName("QuestName")] public string? QuestName { get; set; } + /// + /// _id + /// [JsonPropertyName("_id")] public string? Id { get; set; } @@ -115,7 +118,7 @@ public class Quest /// Status of quest to player /// [JsonPropertyName("sptStatus")] - public QuestStatus? SptStatus { get; set; } + public QuestStatusEnum? SptStatus { get; set; } [JsonPropertyName("questStatus")] public QuestStatus? QuestStatus { get; set; }