diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2021-07-29 17:37:06 +0200 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2021-07-29 17:37:06 +0200 |
| commit | c0004768de6695e2acfa48c392765b03b81ba9d0 (patch) | |
| tree | b48160c635b2a9d423ebbda2b101a50578d386f4 /client/src/akkamon/scenes/WorldScene.ts | |
| parent | 935c4676165fc2cf8cc938725ff473643acd0077 (diff) | |
refactor(): making battles is now easy
Diffstat (limited to 'client/src/akkamon/scenes/WorldScene.ts')
| -rw-r--r-- | client/src/akkamon/scenes/WorldScene.ts | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/client/src/akkamon/scenes/WorldScene.ts b/client/src/akkamon/scenes/WorldScene.ts index f125a0e..f570cde 100644 --- a/client/src/akkamon/scenes/WorldScene.ts +++ b/client/src/akkamon/scenes/WorldScene.ts @@ -40,9 +40,9 @@ export interface WorldScene extends Phaser.Scene { getPlayerPixelPosition: () => Phaser.Math.Vector2 - getRemotePlayerNames: () => string[] + getRemotePlayerNames: () => {id: string, scene: string}[] - requestBattle: (remotePlayerData: string | string[]) => void + requestBattle: (remotePlayerData: {id: string, scene: string}) => void clearMenus: () => void @@ -136,20 +136,26 @@ export function createWorldScene<PhaserScene extends BasePhaserScene>(scene: Pha return client.requestPlayerPixelPosition(); } - getRemotePlayerNames(): Array<string> { + getRemotePlayerNames(): Array<{id: string, scene: string}> { let remotePlayerData = client.requestRemotePlayerData(); if (remotePlayerData.size === 0) { - return ['Nobody Online']; + return [{id: 'Nobody Online', scene: ''}]; } else { - return Array.from(remotePlayerData.keys()); + let keys = remotePlayerData.keys(); + let trainerIDs: {id: string, scene: string}[] = []; + + for (let key of keys) { + let trainerID: { id: string, scene: string } = JSON.parse(key); + trainerIDs.push(trainerID); + } + return trainerIDs; } } - requestBattle(remotePlayerName: string | string[]): void { + requestBattle(remoteTrainerID: {id: string, scene: string}): void { client.sendInteractionRequest({ type: "battle", - requestingTrainerId: client.getSessionTrainerId()!, - receivingTrainerIds: Array.isArray(remotePlayerName) ? remotePlayerName : [remotePlayerName] + receivingtrainerIDs: Array.isArray(remoteTrainerID) ? remoteTrainerID : [remoteTrainerID] }); } |
