Refactor frontend to use commands

This commit is contained in:
Schmelczer András 2020-11-06 19:56:09 +01:00
parent be26ab422c
commit 503c99cb1f
25 changed files with 8031 additions and 23084 deletions

View file

@ -67,7 +67,7 @@ export class GameServer {
socket.on(TransportEvents.PlayerToServer, (json: string) => {
try {
const commands: Array<Command> = deserialize(json);
commands.forEach((c) => player.sendCommand(c));
commands.forEach((c) => player.handleCommand(c));
} catch (e) {
console.error('Error while processing command', e);
}

View file

@ -10,7 +10,7 @@ import {
CharacterBase,
CharacterTeam,
PropertyUpdatesForObject,
UpdateProperty,
UpdatePropertyCommand,
} from 'shared';
import { DynamicPhysical } from '../physics/physicals/dynamic-physical';
import { CirclePhysical } from './circle-physical';
@ -256,9 +256,9 @@ export class CharacterPhysical
public getPropertyUpdates(): PropertyUpdatesForObject {
return new PropertyUpdatesForObject(this.id, [
new UpdateProperty('head', this.head, this.headVelocity),
new UpdateProperty('leftFoot', this.leftFoot, this.leftFootVelocity),
new UpdateProperty('rightFoot', this.rightFoot, this.rightFootVelocity),
new UpdatePropertyCommand('head', this.head, this.headVelocity),
new UpdatePropertyCommand('leftFoot', this.leftFoot, this.leftFootVelocity),
new UpdatePropertyCommand('rightFoot', this.rightFoot, this.rightFootVelocity),
]);
}

View file

@ -9,7 +9,7 @@ import {
PlanetBase,
CharacterTeam,
PropertyUpdatesForObject,
UpdateProperty,
UpdatePropertyCommand,
} from 'shared';
import { ImmutableBoundingBox } from '../physics/bounding-boxes/immutable-bounding-box';
@ -110,7 +110,7 @@ export class PlanetPhysical
public getPropertyUpdates(): PropertyUpdatesForObject {
return new PropertyUpdatesForObject(this.id, [
new UpdateProperty('ownership', this.ownership, 0),
new UpdatePropertyCommand('ownership', this.ownership, 0),
]);
}

View file

@ -7,7 +7,7 @@ import {
GameObject,
CharacterTeam,
PropertyUpdatesForObject,
UpdateProperty,
UpdatePropertyCommand,
} from 'shared';
import { ImmutableBoundingBox } from '../physics/bounding-boxes/immutable-bounding-box';
import { CirclePhysical } from './circle-physical';
@ -102,7 +102,7 @@ export class ProjectilePhysical
public getPropertyUpdates(): PropertyUpdatesForObject {
return new PropertyUpdatesForObject(this.id, [
new UpdateProperty('center', this.center, this.velocity),
new UpdatePropertyCommand('center', this.center, this.velocity),
]);
}