import operator/drifter loadouts
This commit is contained in:
parent
2c77336e0c
commit
6d9c934619
@ -62,7 +62,6 @@ import {
|
|||||||
IOperatorConfigDatabase,
|
IOperatorConfigDatabase,
|
||||||
IPolarity,
|
IPolarity,
|
||||||
IEquipmentDatabase,
|
IEquipmentDatabase,
|
||||||
IOperatorConfigClient,
|
|
||||||
IArchonCrystalUpgrade
|
IArchonCrystalUpgrade
|
||||||
} from "@/src/types/inventoryTypes/commonInventoryTypes";
|
} from "@/src/types/inventoryTypes/commonInventoryTypes";
|
||||||
import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
|
import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
|
||||||
@ -1167,9 +1166,9 @@ type InventoryDocumentProps = {
|
|||||||
Upgrades: Types.DocumentArray<IUpgradeDatabase>;
|
Upgrades: Types.DocumentArray<IUpgradeDatabase>;
|
||||||
MiscItems: Types.DocumentArray<IMiscItem>;
|
MiscItems: Types.DocumentArray<IMiscItem>;
|
||||||
Boosters: Types.DocumentArray<IBooster>;
|
Boosters: Types.DocumentArray<IBooster>;
|
||||||
OperatorLoadOuts: Types.DocumentArray<IOperatorConfigClient>;
|
OperatorLoadOuts: Types.DocumentArray<IOperatorConfigDatabase>;
|
||||||
SpecialItems: Types.DocumentArray<IEquipmentDatabase>;
|
SpecialItems: Types.DocumentArray<IEquipmentDatabase>;
|
||||||
AdultOperatorLoadOuts: Types.DocumentArray<IOperatorConfigClient>; //TODO: this should still contain _id
|
AdultOperatorLoadOuts: Types.DocumentArray<IOperatorConfigDatabase>;
|
||||||
MechSuits: Types.DocumentArray<IEquipmentDatabase>;
|
MechSuits: Types.DocumentArray<IEquipmentDatabase>;
|
||||||
Scoops: Types.DocumentArray<IEquipmentDatabase>;
|
Scoops: Types.DocumentArray<IEquipmentDatabase>;
|
||||||
DataKnives: Types.DocumentArray<IEquipmentDatabase>;
|
DataKnives: Types.DocumentArray<IEquipmentDatabase>;
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
import { Types } from "mongoose";
|
import { Types } from "mongoose";
|
||||||
import { IEquipmentClient, IEquipmentDatabase } from "../types/inventoryTypes/commonInventoryTypes";
|
import {
|
||||||
|
IEquipmentClient,
|
||||||
|
IEquipmentDatabase,
|
||||||
|
IOperatorConfigClient,
|
||||||
|
IOperatorConfigDatabase
|
||||||
|
} from "../types/inventoryTypes/commonInventoryTypes";
|
||||||
import { IMongoDate } from "../types/commonTypes";
|
import { IMongoDate } from "../types/commonTypes";
|
||||||
import {
|
import {
|
||||||
equipmentKeys,
|
equipmentKeys,
|
||||||
@ -49,6 +54,14 @@ const convertUpgrade = (client: IUpgradeClient): IUpgradeDatabase => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const convertOperatorConfig = (client: IOperatorConfigClient): IOperatorConfigDatabase => {
|
||||||
|
const { ItemId, ...rest } = client;
|
||||||
|
return {
|
||||||
|
...rest,
|
||||||
|
_id: new Types.ObjectId(client.ItemId.$oid)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const replaceArray = <T>(arr: T[], replacement: T[]): void => {
|
const replaceArray = <T>(arr: T[], replacement: T[]): void => {
|
||||||
arr.splice(0, arr.length);
|
arr.splice(0, arr.length);
|
||||||
replacement.forEach(x => {
|
replacement.forEach(x => {
|
||||||
@ -73,6 +86,11 @@ export const importInventory = (db: TInventoryDatabaseDocument, client: Partial<
|
|||||||
if (client.Upgrades) {
|
if (client.Upgrades) {
|
||||||
replaceArray<IUpgradeDatabase>(db.Upgrades, client.Upgrades.map(convertUpgrade));
|
replaceArray<IUpgradeDatabase>(db.Upgrades, client.Upgrades.map(convertUpgrade));
|
||||||
}
|
}
|
||||||
|
for (const key of ["OperatorLoadOuts", "AdultOperatorLoadOuts"] as const) {
|
||||||
|
if (client[key]) {
|
||||||
|
replaceArray<IOperatorConfigDatabase>(db[key], client[key].map(convertOperatorConfig));
|
||||||
|
}
|
||||||
|
}
|
||||||
for (const key of [
|
for (const key of [
|
||||||
"SuitBin",
|
"SuitBin",
|
||||||
"WeaponBin",
|
"WeaponBin",
|
||||||
|
@ -8,7 +8,8 @@ import {
|
|||||||
IOperatorConfigClient,
|
IOperatorConfigClient,
|
||||||
IEquipmentSelection,
|
IEquipmentSelection,
|
||||||
IEquipmentDatabase,
|
IEquipmentDatabase,
|
||||||
IEquipmentClient
|
IEquipmentClient,
|
||||||
|
IOperatorConfigDatabase
|
||||||
} from "@/src/types/inventoryTypes/commonInventoryTypes";
|
} from "@/src/types/inventoryTypes/commonInventoryTypes";
|
||||||
|
|
||||||
export interface IInventoryDatabase
|
export interface IInventoryDatabase
|
||||||
@ -27,6 +28,8 @@ export interface IInventoryDatabase
|
|||||||
| "Upgrades"
|
| "Upgrades"
|
||||||
| "CrewShipSalvagedWeaponSkins"
|
| "CrewShipSalvagedWeaponSkins"
|
||||||
| "CrewShipWeaponSkins"
|
| "CrewShipWeaponSkins"
|
||||||
|
| "OperatorLoadOuts"
|
||||||
|
| "AdultOperatorLoadOuts"
|
||||||
| TEquipmentKey
|
| TEquipmentKey
|
||||||
> {
|
> {
|
||||||
accountOwnerId: Types.ObjectId;
|
accountOwnerId: Types.ObjectId;
|
||||||
@ -43,6 +46,8 @@ export interface IInventoryDatabase
|
|||||||
Upgrades: IUpgradeDatabase[];
|
Upgrades: IUpgradeDatabase[];
|
||||||
CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
|
CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
|
||||||
CrewShipWeaponSkins: IUpgradeDatabase[];
|
CrewShipWeaponSkins: IUpgradeDatabase[];
|
||||||
|
OperatorLoadOuts: IOperatorConfigDatabase[];
|
||||||
|
AdultOperatorLoadOuts: IOperatorConfigDatabase[];
|
||||||
|
|
||||||
Suits: IEquipmentDatabase[];
|
Suits: IEquipmentDatabase[];
|
||||||
LongGuns: IEquipmentDatabase[];
|
LongGuns: IEquipmentDatabase[];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user