private initPosition: PositionInterface|null = null;
private playersPositionInterpolator = new PlayersPositionInterpolator();
active: boolean;
+ silent: boolean;
MapKey: string;
MapUrlFile: string;
lastMoveEventSent: HasMovedEvent = {
direction: '',
moving: false,
+ silent: false,
x: -1000,
y: -1000
}
this.GameManager.getPlayerName(),
this.GameManager.getCharacterSelected(),
PlayerAnimationNames.WalkDown,
- false
+ false,
+ true
);
//create collision
this.createCollisionObject();
//join room
- this.GameManager.joinRoom(this.RoomId, this.startX, this.startY, PlayerAnimationNames.WalkDown, false);
+ this.GameManager.joinRoom(this.RoomId, this.startX, this.startY, PlayerAnimationNames.WalkDown, false, false);
//listen event to share position of user
this.CurrentPlayer.on(hasMovedEventName, this.pushPlayerPosition.bind(this))
private doPushPlayerPosition(event: HasMovedEvent): void {
this.lastMoveEventSent = event;
+ this.lastMoveEventSent.silent = this.silent;
this.lastSentTick = this.currentTick;
this.GameManager.pushPlayerPosition(event);
}
}
}
+ // Silent areas
+ tile = this.Map.getTileAt(this.Map.worldToTileX(this.CurrentPlayer.x), this.Map.worldToTileY(this.CurrentPlayer.y), true, "silent");
+ if (tile !== null){
+ if (tile.index !== -1){
+ this.silent=true;
+ document.getElementById("webRtcSwitch").style.display="none";
+ document.getElementById("quietzone").style.display="block";
+ }else{
+ this.silent=false;
+ document.getElementById("webRtcSwitch").style.display="block";
+ document.getElementById("quietzone").style.display="none";
+ }
+ }
+
// Let's move all users
let updatedPlayersPositions = this.playersPositionInterpolator.getUpdatedPositions(time);
updatedPlayersPositions.forEach((moveEvent: HasMovedEvent, userId: string) => {
addPlayerData.name,
addPlayerData.character,
addPlayerData.position.direction,
- addPlayerData.position.moving
+ addPlayerData.position.moving,
+ addPlayerData.position.silent
);
this.MapPlayers.add(player);
this.MapPlayersByKey.set(player.userId, player);
shareGroupPosition(groupPositionMessage: GroupCreatedUpdatedMessageInterface) {
let groupId = groupPositionMessage.groupId;
+ if (this.silent){return}
let group = this.groups.get(groupId);
if (group !== undefined) {