forked from OpenWF/SpaceNinjaServer
feat: unequipping weapons & deleting loadout configs (#160)
This commit is contained in:
parent
477f678244
commit
9bded04dfd
@ -19,7 +19,8 @@ const EquipmentSelectionSchema = new Schema<IEquipmentSelection>(
|
||||
default: { $oid: "000000000000000000000000" }
|
||||
},
|
||||
mod: Number,
|
||||
cus: Number
|
||||
cus: Number,
|
||||
hide: Boolean
|
||||
},
|
||||
{
|
||||
_id: false
|
||||
|
@ -77,6 +77,11 @@ export const handleInventoryItemConfigChange = async (
|
||||
|
||||
// all non-empty entries are one loadout slot
|
||||
for (const [loadoutId, loadoutConfig] of Object.entries(newLoadout)) {
|
||||
if (loadoutConfig.Remove) {
|
||||
loadout[loadoutSlot].pull({ _id: loadoutId });
|
||||
continue;
|
||||
}
|
||||
|
||||
const oldLoadoutConfig = loadout[loadoutSlot].find(
|
||||
loadout => loadout._id.toString() === loadoutId
|
||||
);
|
||||
@ -106,8 +111,7 @@ export const handleInventoryItemConfigChange = async (
|
||||
throw new Error("loadout index not found");
|
||||
}
|
||||
|
||||
//perhaps .overwrite() is better
|
||||
loadout[loadoutSlot][loadoutIndex].set(loadoutConfig);
|
||||
loadout[loadoutSlot][loadoutIndex].overwrite(loadoutConfig);
|
||||
}
|
||||
}
|
||||
await loadout.save();
|
||||
|
@ -76,17 +76,19 @@ export interface ILoadoutConfigDatabase extends Omit<ILoadoutConfigClient, "Item
|
||||
// for request and response from and to client
|
||||
export interface ILoadoutConfigClient {
|
||||
ItemId: IOid;
|
||||
n: string;
|
||||
PresetIcon: string;
|
||||
Favorite: boolean;
|
||||
s: IEquipmentSelection;
|
||||
p: IEquipmentSelection;
|
||||
l: IEquipmentSelection;
|
||||
m: IEquipmentSelection;
|
||||
Remove?: boolean; // when client wants to remove a config, it only includes ItemId & Remove.
|
||||
n?: string;
|
||||
PresetIcon?: string;
|
||||
Favorite?: boolean;
|
||||
s?: IEquipmentSelection;
|
||||
p?: IEquipmentSelection;
|
||||
l?: IEquipmentSelection;
|
||||
m?: IEquipmentSelection;
|
||||
}
|
||||
|
||||
export interface IEquipmentSelection {
|
||||
ItemId: IOid;
|
||||
mod: number;
|
||||
cus: number;
|
||||
ItemId?: IOid;
|
||||
mod?: number;
|
||||
cus?: number;
|
||||
hide?: boolean;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user