game: add: defeated by forfeit

This commit is contained in:
2024-02-25 17:52:48 +01:00
parent a18458e8bb
commit 0c7fdee401
3 changed files with 49 additions and 22 deletions

View File

@ -10,9 +10,10 @@ class Game
{
/**
* @param {Client} client
* @param {CallableFunction} update_goal
* @param {CallableFunction} goal_handler
* @param {CallableFunction} finish_handler
*/
constructor(client, id, update_goal)
constructor(client, id, goal_handler, finish_handler)
{
/**
* @type {Client}
@ -27,7 +28,12 @@ class Game
/**
* @type {CallableFunction}
*/
this.update_goal = update_goal;
this.goal_handler = goal_handler;
/**
* @type {CallableFunction}
*/
this.finish_handler = finish_handler;
}
/**
@ -161,6 +167,16 @@ class Game
this.ball.from_json(data);
}
_receive_finish(data)
{
this.finish_handler(data)
}
_receive_goal(data)
{
this.goal_handler(data)
}
_receive(data)
{
if (data.detail === "update_paddle")
@ -170,7 +186,9 @@ class Game
else if (data.detail === "init_game")
this._init_game(data);
else if (data.detail === "goal")
this.update_goal(data);
this._receive_goal(data);
else if (data.detail === "finish")
this._receive_finish(data)
}
_init_game(data)