🚧 Created independant game_control and game_state classes
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
export class GameState {
|
||||
public game_id: string;
|
||||
public players: any[];
|
||||
public selected_question: number;
|
||||
public timer_res: string;
|
||||
public question_results: any;
|
||||
public answer_count: number;
|
||||
public shown_question_now: number;
|
||||
public final_results: any;
|
||||
|
||||
constructor(game_id: string, players: any[]) {
|
||||
this.game_id = game_id;
|
||||
this.players = players;
|
||||
this.selected_question = -1;
|
||||
this.timer_res = '0';
|
||||
this.question_results = null;
|
||||
this.answer_count = 0;
|
||||
this.shown_question_now = -1;
|
||||
this.final_results = null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
import type { Socket } from 'socket.io-client';
|
||||
|
||||
/**
|
||||
* Class that encapsulates all the socket calls related to game controls for the admin page.
|
||||
* Still in development, but it will be used to avoid having socket calls directly in the svelte files, and to have a single place to manage all the game controls related socket calls.
|
||||
*/
|
||||
export class SocketGameControls {
|
||||
socket: Socket;
|
||||
|
||||
constructor(socket: Socket) {
|
||||
this.socket = socket;
|
||||
}
|
||||
|
||||
set_question_number(q_number: number) {
|
||||
this.socket.emit('set_question_number', q_number.toString());
|
||||
};
|
||||
|
||||
get_question_results(game_id: string, question_number: number) {
|
||||
this.socket.emit('get_question_results', {
|
||||
game_id,
|
||||
question_number
|
||||
});
|
||||
};
|
||||
|
||||
show_solutions() {
|
||||
this.socket.emit('show_solutions', {});
|
||||
};
|
||||
|
||||
get_final_results() {
|
||||
this.socket.emit('get_final_results', {});
|
||||
};
|
||||
|
||||
start_game() {
|
||||
this.socket.emit('start_game', '');
|
||||
}
|
||||
|
||||
kick_player(username: string, players: any[]) {
|
||||
this.socket.emit('kick_player', { username: username });
|
||||
|
||||
for (let i = 0; i < players.length; i++) {
|
||||
console.log(players[i].username, username);
|
||||
if (players[i].username === username) {
|
||||
players.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return players;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user