workadventure/front/src/Network/ProtobufClientUtils.ts
2021-09-06 14:31:59 +02:00

34 lines
1 KiB
TypeScript

import { PositionMessage } from "../Messages/generated/messages_pb";
import Direction = PositionMessage.Direction;
import type { PointInterface } from "../Connexion/ConnexionModels";
export class ProtobufClientUtils {
public static toPointInterface(position: PositionMessage): PointInterface {
let direction: string;
switch (position.getDirection()) {
case Direction.UP:
direction = "up";
break;
case Direction.DOWN:
direction = "down";
break;
case Direction.LEFT:
direction = "left";
break;
case Direction.RIGHT:
direction = "right";
break;
default:
throw new Error("Unexpected direction");
}
// sending to all clients in room except sender
return {
x: position.getX(),
y: position.getY(),
direction,
moving: position.getMoving(),
};
}
}