summaryrefslogtreecommitdiff
path: root/client/src/GameState.ts
blob: def867f81a216dc8c74b45ac05216a525b2680af (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
import Player from './player';
import type { Event } from './events';

export default class GameState {

    static instance: GameState;

    currentPlayer: Player | undefined;
    remotePlayers: { [name: string]: Player } | undefined

    static getInstance() {
        if (GameState.instance) return GameState.instance;
        else {
            GameState.instance = new GameState();
            return GameState.instance;
        }
    }

    setCurrentPlayer(player: Player) {
        this.currentPlayer = player;
    }

    posUpdate(receivedState: GameState) {
        console.log("--> Game is updating positions");
        if (this.currentPlayer === undefined) {
            console.log("--> getting current player object");
            console.log(receivedState.currentPlayer!);
            this.currentPlayer = new Player(receivedState.currentPlayer!);
        }
    }
}