From f65301f025662fcd101a93c86f9554534d9bd271 Mon Sep 17 00:00:00 2001 From: Carson Date: Tue, 13 Feb 2024 11:39:47 -0800 Subject: [PATCH] transaction visuals resource param --- src/international/flags/flags.ts | 16 ++++++++++++++-- src/room/room.ts | 20 +++++++++----------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/international/flags/flags.ts b/src/international/flags/flags.ts index 03bb11ac2..add86c1b6 100644 --- a/src/international/flags/flags.ts +++ b/src/international/flags/flags.ts @@ -51,13 +51,15 @@ export class FlagManager { private incomingTransactions(flagName: string, flagNameParts: string[]) { const flag = Game.flags[flagName] - const roomName = flagNameParts[1] || flag.pos.roomName + const roomName = flag.pos.roomName const room = Game.rooms[roomName] if (!room) { flag.setColor(COLOR_RED) return } + const resourceType = flagNameParts[1] as ResourceConstant | undefined + flag.setColor(COLOR_GREEN) const headers = ['sender', '', 'receiver', 'resource', 'amount', 'ticks since'] @@ -68,6 +70,10 @@ export class FlagManager { const roomFromMemory = Memory.rooms[transaction.from] || ({} as RoomMemory) const roomToMemory = Memory.rooms[transaction.to] || ({} as RoomMemory) + if (resourceType !== undefined && transaction.resourceType !== resourceType) { + continue + } + data.push([ transaction.from + ' (' + @@ -118,13 +124,15 @@ export class FlagManager { private outgoingTransactions(flagName: string, flagNameParts: string[]) { const flag = Game.flags[flagName] - const roomName = flagNameParts[1] || flag.pos.roomName + const roomName = flag.pos.roomName const room = Game.rooms[roomName] if (!room) { flag.setColor(COLOR_RED) return } + const resourceType = flagNameParts[1] as ResourceConstant | undefined + flag.setColor(COLOR_GREEN) const headers = ['sender', '', 'receiver', 'resource', 'amount', 'ticks since'] @@ -135,6 +143,10 @@ export class FlagManager { const roomFromMemory = Memory.rooms[transaction.from] || ({} as RoomMemory) const roomToMemory = Memory.rooms[transaction.to] || ({} as RoomMemory) + if (resourceType !== undefined && transaction.resourceType !== resourceType) { + continue + } + data.push([ transaction.from + ' (' + diff --git a/src/room/room.ts b/src/room/room.ts index f898baf9e..bdcb7f188 100644 --- a/src/room/room.ts +++ b/src/room/room.ts @@ -197,7 +197,6 @@ export class RoomManager { const sourcePaths: RoomPosition[][] = [] for (let i = 0; i < packedRemoteSourceHarvestPositions.length; i += 1) { - const positions = packedRemoteSourceHarvestPositions[i] const origin = unpackPosAt(positions, 0) @@ -264,7 +263,6 @@ export class RoomManager { const sourcePaths: RoomPosition[][] = [] for (let i = 0; i < packedRemoteSourceHarvestPositions.length; i += 1) { - const positions = packedRemoteSourceHarvestPositions[i] const origin = unpackPosAt(positions, 0) @@ -468,20 +466,20 @@ export class RoomManager { if (this._remoteSources) return this._remoteSources const sourceIDs = this.room.memory[RoomMemoryKeys.remoteSources] - if (sourceIDs) { - this._remoteSources = [] + if (!sourceIDs) { + throw Error('No remote sources ' + this.room.name) + } - for (let i = 0; i < sourceIDs.length; i++) { - const source = findObjectWithID(sourceIDs[i]) + this._remoteSources = [] - source.remoteIndex = i - this._remoteSources.push(source) - } + for (let i = 0; i < sourceIDs.length; i++) { + const source = findObjectWithID(sourceIDs[i]) - return this._remoteSources + source.remoteIndex = i + this._remoteSources.push(source) } - throw Error('No remote sources ' + this.room.name) + return this._remoteSources } _sourceHarvestPositions: RoomPosition[][]