Wip reworking server handleInput
+ fixedDeltaTime for server
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user