summaryrefslogtreecommitdiff
path: root/src/state/types.ts
blob: 517be1731d33197a12d18685bf6fb3457009721f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
export type Paddle = {
  position: [number, number];
};

export type Ball = {
  //float positions
  position: [number, number];
  velocity: [number, number];
};

export type Brick = {
  position: [number, number];
};

export type GameState = {
  paddle: Paddle;
  balls: Ball[];
  bricks: Brick[];
};

export type NewBallEvent = { name: "NEW_BALL" };

export type Event = NewBallEvent;

export type SessionState = {
  sessionId: string;
  seqno: number;
  localPlayerGameState: GameState;
  remotePlayerGameState: GameState | undefined;
  inboundEventQueue: Event[];
  outboundEventQueue: Event[];
};