Wip reworking server handleInput

+ fixedDeltaTime for server
This commit is contained in:
LuckyLaszlo
2022-11-28 23:55:24 +01:00
parent c656de5cad
commit 429387ce83
5 changed files with 46 additions and 22 deletions

View File

@@ -50,25 +50,35 @@ class GameSession {
clearInterval(s.gameLoopInterval);
clearInterval(s.clientsUpdateInterval);
}
handleInput(client: ClientPlayer, inputEvent: ev.EventInput) {
private _handleInput(delta: number, client: ClientPlayer) {
const gc = this.components;
const input = inputEvent.input;
client.lastInputId = inputEvent.inputId;
client.racket.dir.y = 0;
if (input === en.InputEnum.up) {
client.racket.dir.y += -1;
}
else if (input === en.InputEnum.down) {
client.racket.dir.y += 1;
}
client.racket.moveAndCollide(this.delta_time, [gc.wallTop, gc.wallBottom]);
/* how to handle Delta time correctly in handleInput ? */
client.inputArr.forEach( (value) => {
const input = value.input;
client.racket.dir.y = 0;
if (input === en.InputEnum.up) {
client.racket.dir.y = -1;
}
else if (input === en.InputEnum.down) {
client.racket.dir.y = 1;
}
client.racket.moveAndCollide(delta, [gc.wallTop, gc.wallBottom]);
});
client.lastInputId = client.inputArr[client.inputArr.length - 1].inputId;
client.inputArr.length = 0;
}
private _gameLoop(s: GameSession) {
s.last_time = s.actual_time;
/* s.last_time = s.actual_time;
s.actual_time = Date.now();
s.delta_time = (s.actual_time - s.last_time) / 1000;
s.delta_time = (s.actual_time - s.last_time) / 1000; */
s.delta_time = c.fixedDeltaTime;
console.log(s.delta_time);
s.playersMap.forEach( (client) => {
if (client.inputArr.length != 0) {
s._handleInput(s.delta_time, client);
}
});
const gc = s.components;
if (gc.ballInPlay)