index.js 1.56 KB
Newer Older
1
import GameConfig from "./config/GameConfiguration.js";
Alexander Bazo committed
2 3
import Logger from "./utils/Logger.js";
import StarGazer from "./game/StarGazer.js";
4 5
import FakeGazeDataProvider from "./gaze/FakeGazeDataProvider.js";
import GazeDataProvider from "./gaze/GazeDataProvider.js";
Alexander Bazo committed
6

7
var canvas = document.querySelector("canvas"),
8
  starScreen = document.querySelector("#startScreen");
Alexander Bazo committed
9

Alexander Bazo committed
10
function init() {
11
  loadOptions();
12
  if (GameConfig.getShowVerboseDebugInfoInConsole() === true) {
13 14
    Logger.enable();
  }
15 16
  document.querySelector("#versionInfo").innerHTML =
    `build ${GameConfig.getVersion()}`;
17
    document.querySelector("#startButton").addEventListener("click", prepareGame);
Alexander Bazo committed
18 19
}

20
function loadOptions() {
21 22 23 24 25 26
  let useMouse = document.querySelector("#useMouseInput").checked,
    showDebug = document.querySelector("#showDebugInfo").checked,
    logToConsole = document.querySelector("#logToConsole").checked;
  GameConfig.setUseMouseInput(useMouse);
  GameConfig.setShowDebugInfoOnScreen(showDebug);
  GameConfig.setShowVerboseDebugInfoInConsole(logToConsole);
27 28
}

29
function prepareGame() {
30
  loadOptions();
Alexander Bazo committed
31
  StarGazer.init({
32
    canvas: canvas,
33
    gazeDataProvider: getDataProvider(),
Alexander Bazo committed
34
  });
35
  canvas.requestFullscreen().then(startGame);
Alexander Bazo committed
36 37
}

38
function startGame() {
39 40
  starScreen.classList.add("hidden");
  canvas.classList.remove("hidden");
Alexander Bazo committed
41 42
}

43 44
function getDataProvider() {
  let provider;
45
  if (GameConfig.getUseMouseInput() === true) {
46 47 48 49
    provider = new FakeGazeDataProvider();
  } else {
    provider = new GazeDataProvider();
  }
50
  provider.start(GameConfig.getGazeServerURL());
51
  return provider;
Alexander Bazo committed
52 53 54
}

init();