authoritative server OK
+ TODO actual matchmaking
This commit is contained in:
@@ -1,50 +1,50 @@
|
||||
|
||||
import * as c from "../constants.js"
|
||||
import {Vector, VectorInteger} from "../../shared_js/class/Vector.js";
|
||||
import {Rectangle, Line} from "../../shared_js/class/Rectangle.js";
|
||||
import {TextElem, TextNumericValue} from "./Text.js";
|
||||
import { GameComponents } from "../../shared_js/class/GameComponents.js";
|
||||
import { GameComponentsForClient } from "./GameComponents.js";
|
||||
import { RectangleClient, Line } from "./RectangleClient.js";
|
||||
|
||||
class GameComponentsClient extends GameComponents {
|
||||
class GameComponentsClient extends GameComponentsForClient {
|
||||
midLine: Line;
|
||||
score1: TextNumericValue;
|
||||
score2: TextNumericValue;
|
||||
scoreLeft: TextNumericValue;
|
||||
scoreRight: TextNumericValue;
|
||||
|
||||
w_grid_mid: Rectangle;
|
||||
w_grid_u1: Rectangle;
|
||||
w_grid_d1: Rectangle;
|
||||
h_grid_mid: Rectangle;
|
||||
h_grid_u1: Rectangle;
|
||||
h_grid_d1: Rectangle;
|
||||
w_grid_mid: RectangleClient;
|
||||
w_grid_u1: RectangleClient;
|
||||
w_grid_d1: RectangleClient;
|
||||
h_grid_mid: RectangleClient;
|
||||
h_grid_u1: RectangleClient;
|
||||
h_grid_d1: RectangleClient;
|
||||
constructor(ctx: CanvasRenderingContext2D)
|
||||
{
|
||||
super(ctx);
|
||||
let pos = new VectorInteger;
|
||||
// Scores
|
||||
pos.assign(c.w_mid-c.scoreSize*1.6, c.scoreSize*1.5);
|
||||
this.score1 = new TextNumericValue(ctx, pos, "white", c.scoreSize);
|
||||
this.scoreLeft = new TextNumericValue(pos, c.scoreSize, ctx, "white");
|
||||
pos.assign(c.w_mid+c.scoreSize*1.1, c.scoreSize*1.5);
|
||||
this.score2 = new TextNumericValue(ctx, pos, "white", c.scoreSize);
|
||||
this.score1.value = 0;
|
||||
this.score2.value = 0;
|
||||
this.scoreRight = new TextNumericValue(pos, c.scoreSize, ctx, "white");
|
||||
this.scoreLeft.value = 0;
|
||||
this.scoreRight.value = 0;
|
||||
|
||||
// Dotted Midline
|
||||
pos.assign(c.w_mid-c.midLineSize/2, 0+c.wallSize);
|
||||
this.midLine = new Line(ctx, pos, "white", c.midLineSize, c.h-c.wallSize*2, 15);
|
||||
this.midLine = new Line(pos, c.midLineSize, c.h-c.wallSize*2, ctx, "white", 15);
|
||||
|
||||
// Grid
|
||||
pos.assign(0, c.h_mid);
|
||||
this.w_grid_mid = new Rectangle(ctx, pos, "darkgreen", c.w, c.gridSize);
|
||||
this.w_grid_mid = new RectangleClient(pos, c.w, c.gridSize, ctx, "darkgreen");
|
||||
pos.assign(0, c.h/4);
|
||||
this.w_grid_u1 = new Rectangle(ctx, pos, "darkgreen", c.w, c.gridSize);
|
||||
this.w_grid_u1 = new RectangleClient(pos, c.w, c.gridSize, ctx, "darkgreen");
|
||||
pos.assign(0, c.h-c.h/4);
|
||||
this.w_grid_d1 = new Rectangle(ctx, pos, "darkgreen", c.w, c.gridSize);
|
||||
this.w_grid_d1 = new RectangleClient(pos, c.w, c.gridSize, ctx, "darkgreen");
|
||||
pos.assign(c.w_mid, 0);
|
||||
this.h_grid_mid = new Rectangle(ctx, pos, "darkgreen", c.gridSize, c.h);
|
||||
this.h_grid_mid = new RectangleClient(pos, c.gridSize, c.h, ctx, "darkgreen");
|
||||
pos.assign(c.w/4, 0);
|
||||
this.h_grid_u1 = new Rectangle(ctx, pos, "darkgreen", c.gridSize, c.h);
|
||||
this.h_grid_u1 = new RectangleClient(pos, c.gridSize, c.h, ctx, "darkgreen");
|
||||
pos.assign(c.w-c.w/4, 0);
|
||||
this.h_grid_d1 = new Rectangle(ctx, pos, "darkgreen", c.gridSize, c.h);
|
||||
this.h_grid_d1 = new RectangleClient(pos, c.gridSize, c.h, ctx, "darkgreen");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user