summaryrefslogtreecommitdiff
path: root/client/src/akkamon/scenes/WorldScene.ts
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-07-29 17:37:06 +0200
committerMike Vink <mike1994vink@gmail.com>2021-07-29 17:37:06 +0200
commitc0004768de6695e2acfa48c392765b03b81ba9d0 (patch)
treeb48160c635b2a9d423ebbda2b101a50578d386f4 /client/src/akkamon/scenes/WorldScene.ts
parent935c4676165fc2cf8cc938725ff473643acd0077 (diff)
refactor(): making battles is now easy
Diffstat (limited to 'client/src/akkamon/scenes/WorldScene.ts')
-rw-r--r--client/src/akkamon/scenes/WorldScene.ts22
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]
});
}