94 lines
1.5 KiB
JavaScript
94 lines
1.5 KiB
JavaScript
import { AExchangeable } from "../../AExchangable.js";
|
|
|
|
export class PongConfig extends AExchangeable
|
|
{
|
|
/**
|
|
* @param {Client} client
|
|
*/
|
|
constructor(client)
|
|
{
|
|
super();
|
|
|
|
/**
|
|
* @type {Client}
|
|
*/
|
|
this.client = client;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.MAP_SIZE_X;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.MAP_SIZE_Y;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.WALL_RATIO;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.PADDLE_SPEED_PER_SECOND_MAX;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.PADDLE_RATIO;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.BALL_SIZE;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.BALL_SPEED_INC;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.BALL_SPEED_START;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.STROKE_THICKNESS;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.GAME_MAX_SCORE;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.MAP_CENTER_X;
|
|
|
|
/**
|
|
* @type {Number}
|
|
*/
|
|
this.MAP_CENTER_Y;
|
|
}
|
|
|
|
async init()
|
|
{
|
|
let response = await this.client._get("/api/games/");
|
|
|
|
if (response.status !== 200)
|
|
return response.status;
|
|
|
|
let response_data = await response.json();
|
|
|
|
this.import(response_data);
|
|
|
|
this.MAP_CENTER_X = this.MAP_SIZE_X / 2;
|
|
this.MAP_CENTER_Y = this.MAP_SIZE_Y / 2;
|
|
|
|
return 0;
|
|
}
|
|
} |