From 4232ba6db149b16821fc8a6409164604c29ba9af Mon Sep 17 00:00:00 2001 From: Dev Date: Sat, 10 Feb 2024 16:08:42 +0000 Subject: [PATCH] Pass output object into various other inventroy actions --- project/src/callbacks/InventoryCallbacks.ts | 33 ++++++++++++++----- .../src/controllers/InventoryController.ts | 21 ++++++------ .../item_events/InventoryItemEventRouter.ts | 10 +++--- 3 files changed, 41 insertions(+), 23 deletions(-) diff --git a/project/src/callbacks/InventoryCallbacks.ts b/project/src/callbacks/InventoryCallbacks.ts index 40ca6c20..1d1071d9 100644 --- a/project/src/callbacks/InventoryCallbacks.ts +++ b/project/src/callbacks/InventoryCallbacks.ts @@ -48,29 +48,45 @@ export class InventoryCallbacks } /** Handle Remove event */ - public removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse + public removeItem( + pmcData: IPmcData, + body: IInventoryRemoveRequestData, + sessionID: string, + output: IItemEventRouterResponse, + ): IItemEventRouterResponse { - return this.inventoryController.discardItem(pmcData, body, sessionID); + return this.inventoryController.discardItem(pmcData, body, sessionID, output); } /** Handle Split event */ - public splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse + public splitItem( + pmcData: IPmcData, + body: IInventorySplitRequestData, + sessionID: string, + output: IItemEventRouterResponse, + ): IItemEventRouterResponse { - return this.inventoryController.splitItem(pmcData, body, sessionID); + return this.inventoryController.splitItem(pmcData, body, sessionID, output); } - public mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse + public mergeItem( + pmcData: IPmcData, + body: IInventoryMergeRequestData, + sessionID: string, + output: IItemEventRouterResponse, + ): IItemEventRouterResponse { - return this.inventoryController.mergeItem(pmcData, body, sessionID); + return this.inventoryController.mergeItem(pmcData, body, sessionID, output); } public transferItem( pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string, + output: IItemEventRouterResponse, ): IItemEventRouterResponse { - return this.inventoryController.transferItem(pmcData, body, sessionID); + return this.inventoryController.transferItem(pmcData, body, sessionID, output); } /** Handle Swap */ @@ -109,9 +125,10 @@ export class InventoryCallbacks pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string, + output: IItemEventRouterResponse, ): IItemEventRouterResponse { - return this.inventoryController.examineItem(pmcData, body, sessionID); + return this.inventoryController.examineItem(pmcData, body, sessionID, output); } /** Handle ReadEncyclopedia */ diff --git a/project/src/controllers/InventoryController.ts b/project/src/controllers/InventoryController.ts index 2809f4ad..09362296 100644 --- a/project/src/controllers/InventoryController.ts +++ b/project/src/controllers/InventoryController.ts @@ -171,10 +171,9 @@ export class InventoryController pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string, + output: IItemEventRouterResponse, ): IItemEventRouterResponse { - const output = this.eventOutputHolder.getOutput(sessionID); - if (body.fromOwner?.type === "Mail") { this.inventoryHelper.removeItemAndChildrenFromMailRewards(sessionID, body, output); @@ -201,10 +200,9 @@ export class InventoryController pmcData: IPmcData, request: IInventorySplitRequestData, sessionID: string, + output: IItemEventRouterResponse, ): IItemEventRouterResponse { - const output = this.eventOutputHolder.getOutput(sessionID); - // Changes made to result apply to character inventory const inventoryItems = this.inventoryHelper.getOwnerInventoryItems(request, sessionID); @@ -260,10 +258,13 @@ export class InventoryController * @param sessionID Player id * @returns IItemEventRouterResponse */ - public mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse + public mergeItem( + pmcData: IPmcData, + body: IInventoryMergeRequestData, + sessionID: string, + output: IItemEventRouterResponse, + ): IItemEventRouterResponse { - const output = this.eventOutputHolder.getOutput(sessionID); - // Changes made to result apply to character inventory const inventoryItems = this.inventoryHelper.getOwnerInventoryItems(body, sessionID); @@ -339,10 +340,9 @@ export class InventoryController pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string, + output: IItemEventRouterResponse, ): IItemEventRouterResponse { - const output = this.eventOutputHolder.getOutput(sessionID); - let sourceItem: Item = null; let destinationItem: Item = null; for (const iterItem of pmcData.Inventory.items) @@ -618,6 +618,7 @@ export class InventoryController pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string, + output: IItemEventRouterResponse, ): IItemEventRouterResponse { let itemId = ""; @@ -667,7 +668,7 @@ export class InventoryController this.flagItemsAsInspectedAndRewardXp([itemId], pmcData); } - return this.eventOutputHolder.getOutput(sessionID); + return output; } protected flagItemsAsInspectedAndRewardXp(itemTpls: string[], pmcProfile: IPmcData): void diff --git a/project/src/routers/item_events/InventoryItemEventRouter.ts b/project/src/routers/item_events/InventoryItemEventRouter.ts index cff66a91..e9045bb9 100644 --- a/project/src/routers/item_events/InventoryItemEventRouter.ts +++ b/project/src/routers/item_events/InventoryItemEventRouter.ts @@ -59,13 +59,13 @@ export class InventoryItemEventRouter extends ItemEventRouterDefinition case ItemEventActions.MOVE: return this.inventoryCallbacks.moveItem(pmcData, body, sessionID, output); case ItemEventActions.REMOVE: - return this.inventoryCallbacks.removeItem(pmcData, body, sessionID); + return this.inventoryCallbacks.removeItem(pmcData, body, sessionID, output); case ItemEventActions.SPLIT: - return this.inventoryCallbacks.splitItem(pmcData, body, sessionID); + return this.inventoryCallbacks.splitItem(pmcData, body, sessionID, output); case ItemEventActions.MERGE: - return this.inventoryCallbacks.mergeItem(pmcData, body, sessionID); + return this.inventoryCallbacks.mergeItem(pmcData, body, sessionID, output); case ItemEventActions.TRANSFER: - return this.inventoryCallbacks.transferItem(pmcData, body, sessionID); + return this.inventoryCallbacks.transferItem(pmcData, body, sessionID, output); case ItemEventActions.SWAP: return this.inventoryCallbacks.swapItem(pmcData, body, sessionID); case ItemEventActions.FOLD: @@ -79,7 +79,7 @@ export class InventoryItemEventRouter extends ItemEventRouterDefinition case ItemEventActions.UNBIND: return this.inventoryCallbacks.unbindItem(pmcData, body, sessionID); case ItemEventActions.EXAMINE: - return this.inventoryCallbacks.examineItem(pmcData, body, sessionID); + return this.inventoryCallbacks.examineItem(pmcData, body, sessionID, output); case ItemEventActions.READ_ENCYCLOPEDIA: return this.inventoryCallbacks.readEncyclopedia(pmcData, body, sessionID); case ItemEventActions.APPLY_INVENTORY_CHANGES: