mirror of
https://codeberg.org/demostf/frontend.git
synced 2026-06-03 18:24:12 +02:00
This commit is contained in:
parent
851e9dcaa2
commit
5ed8dea705
4 changed files with 78 additions and 4 deletions
|
|
@ -47,6 +47,11 @@ export class Session {
|
|||
session: this.sessionName,
|
||||
play: this.initialState.playing
|
||||
}));
|
||||
this.socket.send(JSON.stringify({
|
||||
type: 'speed',
|
||||
session: this.sessionName,
|
||||
speed: this.initialState.speed
|
||||
}));
|
||||
this.initialState = null;
|
||||
}
|
||||
this.socket.onmessage = (event) => {
|
||||
|
|
@ -69,6 +74,11 @@ export class Session {
|
|||
tick: packet.tick
|
||||
});
|
||||
}
|
||||
if (packet.type === 'speed') {
|
||||
this.onState({
|
||||
speed: packet.speed
|
||||
});
|
||||
}
|
||||
if (packet.type === 'play') {
|
||||
if (packet.play) {
|
||||
this.onState({
|
||||
|
|
@ -114,6 +124,13 @@ export class Session {
|
|||
play: update["playing"]
|
||||
}));
|
||||
}
|
||||
if (update.hasOwnProperty("speed")) {
|
||||
this.socket.send(JSON.stringify({
|
||||
type: 'speed',
|
||||
session: this.sessionName,
|
||||
speed: update["speed"]
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -132,6 +149,7 @@ export interface PlaybackState {
|
|||
tick: number,
|
||||
playing: boolean,
|
||||
clients: number,
|
||||
speed: number,
|
||||
}
|
||||
|
||||
export type StateUpdate = Partial<PlaybackState>;
|
||||
|
|
@ -152,6 +170,12 @@ export interface TickPacket {
|
|||
tick: number;
|
||||
}
|
||||
|
||||
export interface SpeedPacket {
|
||||
type: 'speed';
|
||||
session: string;
|
||||
speed: number;
|
||||
}
|
||||
|
||||
export interface PlayPacket {
|
||||
type: 'play';
|
||||
session: string;
|
||||
|
|
@ -164,4 +188,4 @@ export interface ClientsPacket {
|
|||
count: number;
|
||||
}
|
||||
|
||||
export type Packet = JoinPacket | CreatePacket | TickPacket | PlayPacket | ClientsPacket;
|
||||
export type Packet = JoinPacket | CreatePacket | TickPacket | PlayPacket | ClientsPacket | SpeedPacket;
|
||||
Loading…
Add table
Add a link
Reference in a new issue