🚧 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