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";
|
||||
|
||||
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 =
|
||||
new tg.IsInterface().withProperties({
|
||||
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();
|
||||
/**
|
||||
* 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 {PinchManager} from "../UserInput/PinchManager";
|
||||
import {joystickBaseImg, joystickBaseKey, joystickThumbImg, joystickThumbKey} from "../Components/MobileJoystick";
|
||||
import { PlayerStateObject } from '../../Api/Events/ApiGameStateEvent';
|
||||
|
||||
export interface GameSceneInitInterface {
|
||||
initPosition: PointInterface|null,
|
||||
@ -841,10 +842,35 @@ ${escapedMessage}
|
||||
this.iframeSubscriptionList.push(iframeListener.enablePlayerControlStream.subscribe(()=>{
|
||||
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({
|
||||
roomId:this.RoomId,
|
||||
data: this.mapFile
|
||||
mapUrl: this.MapUrlFile,
|
||||
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