Pass output object into various other inventroy actions
This commit is contained in:
parent
9fe739debb
commit
4232ba6db1
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user