XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

fix(import): convert PeriodicMissionCompletions (#3278)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3278 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

3fe0efd2
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

2 个文件 +16 -3
Modified src/services/importService.ts +13 -2
@@ -30,7 +30,9 @@ import type {
30 30 IUpgradeClient,
31 31 IUpgradeDatabase,
32 32 IWeaponSkinClient,
33 IWeaponSkinDatabase
33 IWeaponSkinDatabase,
34 IPeriodicMissionCompletionResponse,
35 IPeriodicMissionCompletionDatabase
34 36 } from "../types/inventoryTypes/inventoryTypes.ts";
35 37 import { equipmentKeys } from "../types/inventoryTypes/inventoryTypes.ts";
36 38 import type { TInventoryDatabaseDocument } from "../models/inventoryModels/inventoryModel.ts";
@@ -282,6 +284,15 @@ const convertItemConfig = <T extends IItemConfig>(client: T): T => {
282 284 };
283 285 };
284 286
287 const convertPeriodicMissionCompletion = (
288 client: IPeriodicMissionCompletionResponse
289 ): IPeriodicMissionCompletionDatabase => {
290 return {
291 ...client,
292 date: convertDate(client.date)
293 };
294 };
295
285 296 export const importInventory = (db: TInventoryDatabaseDocument, client: Partial<IInventoryClient>): void => {
286 297 for (const key of equipmentKeys) {
287 298 if (client[key] !== undefined) {
@@ -525,7 +536,7 @@ export const importInventory = (db: TInventoryDatabaseDocument, client: Partial<
525 536 db.Missions = client.Missions;
526 537 }
527 538 if (client.PeriodicMissionCompletions !== undefined) {
528 db.PeriodicMissionCompletions = client.PeriodicMissionCompletions;
539 db.PeriodicMissionCompletions = client.PeriodicMissionCompletions.map(convertPeriodicMissionCompletion);
529 540 }
530 541 if (client.FlavourItems !== undefined) {
531 542 db.FlavourItems.splice(0, db.FlavourItems.length);
Modified src/types/inventoryTypes/inventoryTypes.ts +3 -1
@@ -138,6 +138,7 @@ export interface IInventoryDatabase
138 138 | "CurrentLoadOutIds"
139 139 | "FocusLoadouts"
140 140 | "ChallengeInstanceStates"
141 | "PeriodicMissionCompletions"
141 142 | TEquipmentKey
142 143 >,
143 144 InventoryDatabaseEquipment,
@@ -191,6 +192,7 @@ export interface IInventoryDatabase
191 192 PersonalGoalProgress?: IGoalProgressDatabase[];
192 193 FocusLoadouts?: IFocusLoadoutDatabase[];
193 194 ChallengeInstanceStates?: IChallengeInstanceStateDatabase[];
195 PeriodicMissionCompletions: IPeriodicMissionCompletionDatabase[];
194 196 }
195 197
196 198 export interface IQuestKeyDatabase {
@@ -376,7 +378,7 @@ export interface IInventoryClient
376 378 LevelKeys: ITypeCount[];
377 379 TauntHistory?: ITaunt[];
378 380 StoryModeChoice: string;
379 PeriodicMissionCompletions: IPeriodicMissionCompletionDatabase[];
381 PeriodicMissionCompletions: IPeriodicMissionCompletionResponse[];
380 382 KubrowPetEggs?: IKubrowPetEggClient[];
381 383 LoreFragmentScans: ILoreFragmentScan[];
382 384 EquippedEmotes: string[];