added more properties
# Conflicts: # front/src/Phaser/Game/GameScene.ts
This commit is contained in:
parent
3836d5037c
commit
cd77af318d
@ -1,9 +1,28 @@
|
|||||||
import * as tg from "generic-type-guard";
|
import * as tg from "generic-type-guard";
|
||||||
|
|
||||||
|
export const isPositionState = new tg.IsInterface().withProperties({
|
||||||
|
x: tg.isNumber,
|
||||||
|
y: tg.isNumber
|
||||||
|
}).get()
|
||||||
|
export const isPlayerState = new tg.IsInterface()
|
||||||
|
.withStringIndexSignature(
|
||||||
|
new tg.IsInterface().withProperties({
|
||||||
|
position: isPositionState,
|
||||||
|
pusherId: tg.isUnion(tg.isNumber, tg.isUndefined)
|
||||||
|
}).get()
|
||||||
|
).get()
|
||||||
|
|
||||||
|
export type PlayerStateObject = tg.GuardedType<typeof isPlayerState>;
|
||||||
|
|
||||||
export const isGameStateEvent =
|
export const isGameStateEvent =
|
||||||
new tg.IsInterface().withProperties({
|
new tg.IsInterface().withProperties({
|
||||||
roomId: tg.isString,
|
roomId: tg.isString,
|
||||||
data:tg.isObject
|
data: tg.isObject,
|
||||||
|
mapUrl: tg.isString,
|
||||||
|
nickName: tg.isString,
|
||||||
|
uuid: tg.isUnion(tg.isString, tg.isUndefined),
|
||||||
|
players: isPlayerState,
|
||||||
|
startLayerName: tg.isUnion(tg.isString, tg.isNull)
|
||||||
}).get();
|
}).get();
|
||||||
/**
|
/**
|
||||||
* A message sent from the game to the iFrame when a user enters or leaves a zone marked with the "zone" property.
|
* A message sent from the game to the iFrame when a user enters or leaves a zone marked with the "zone" property.
|
||||||
|
@ -80,6 +80,7 @@ import { lazyLoadCompanionResource } from "../Companion/CompanionTexturesLoading
|
|||||||
import {touchScreenManager} from "../../Touch/TouchScreenManager";
|
import {touchScreenManager} from "../../Touch/TouchScreenManager";
|
||||||
import {PinchManager} from "../UserInput/PinchManager";
|
import {PinchManager} from "../UserInput/PinchManager";
|
||||||
import {joystickBaseImg, joystickBaseKey, joystickThumbImg, joystickThumbKey} from "../Components/MobileJoystick";
|
import {joystickBaseImg, joystickBaseKey, joystickThumbImg, joystickThumbKey} from "../Components/MobileJoystick";
|
||||||
|
import { PlayerStateObject } from '../../Api/Events/ApiGameStateEvent';
|
||||||
|
|
||||||
export interface GameSceneInitInterface {
|
export interface GameSceneInitInterface {
|
||||||
initPosition: PointInterface|null,
|
initPosition: PointInterface|null,
|
||||||
@ -841,10 +842,35 @@ ${escapedMessage}
|
|||||||
this.iframeSubscriptionList.push(iframeListener.enablePlayerControlStream.subscribe(()=>{
|
this.iframeSubscriptionList.push(iframeListener.enablePlayerControlStream.subscribe(()=>{
|
||||||
this.userInputManager.restoreControls();
|
this.userInputManager.restoreControls();
|
||||||
}));
|
}));
|
||||||
this.iframeSubscriptionList.push(iframeListener.gameStateStream.subscribe(()=>{
|
this.iframeSubscriptionList.push(iframeListener.gameStateStream.subscribe(() => {
|
||||||
|
const playerObject: PlayerStateObject = {
|
||||||
|
[this.playerName]: {
|
||||||
|
position: {
|
||||||
|
x: this.CurrentPlayer.x,
|
||||||
|
y: this.CurrentPlayer.y
|
||||||
|
},
|
||||||
|
pusherId: this.connection?.getUserId()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const mapPlayer of this.MapPlayers.children.entries) {
|
||||||
|
const remotePlayer: RemotePlayer = mapPlayer as RemotePlayer;
|
||||||
|
playerObject[remotePlayer.PlayerValue] = {
|
||||||
|
position: {
|
||||||
|
x: remotePlayer.x,
|
||||||
|
y: remotePlayer.y
|
||||||
|
},
|
||||||
|
pusherId: remotePlayer.userId
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
iframeListener.sendFrozenGameStateEvent({
|
iframeListener.sendFrozenGameStateEvent({
|
||||||
roomId:this.RoomId,
|
mapUrl: this.MapUrlFile,
|
||||||
data: this.mapFile
|
nickName: this.playerName,
|
||||||
|
startLayerName: this.startLayerName,
|
||||||
|
uuid: localUserStore.getLocalUser()?.uuid,
|
||||||
|
roomId: this.RoomId,
|
||||||
|
data: this.mapFile,
|
||||||
|
players: playerObject
|
||||||
})
|
})
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user