workadventure/front/src/Network/ProtobufClientUtils.ts

34 lines
1.1 KiB
TypeScript
Raw Normal View History

import { PositionMessage, PositionMessage_Direction } from "../Messages/ts-proto-generated/messages";
2021-09-06 14:27:54 +02:00
import type { PointInterface } from "../Connexion/ConnexionModels";
2020-09-18 18:16:26 +02:00
export class ProtobufClientUtils {
public static toPointInterface(position: PositionMessage): PointInterface {
let direction: string;
switch (position.direction) {
case PositionMessage_Direction.UP:
2021-09-06 14:27:54 +02:00
direction = "up";
break;
case PositionMessage_Direction.DOWN:
2021-09-06 14:27:54 +02:00
direction = "down";
break;
case PositionMessage_Direction.LEFT:
2021-09-06 14:27:54 +02:00
direction = "left";
break;
case PositionMessage_Direction.RIGHT:
2021-09-06 14:27:54 +02:00
direction = "right";
break;
default:
throw new Error("Unexpected direction");
}
// sending to all clients in room except sender
return {
x: position.x,
y: position.y,
direction,
moving: position.moving,
};
}
}