index.js 1.18 KB
Newer Older
1
import Config from "./Config.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 8
var canvas = document.querySelector("canvas"),
  starScreen = document.querySelector("#startScreen");
Alexander Bazo committed
9

Alexander Bazo committed
10
function init() {
11 12 13 14 15
  if (Config.USE_LOGGER === true) {
    Logger.enable();
  }
  document.querySelector("#startButton").addEventListener("click",
    prepareGame);
Alexander Bazo committed
16 17
}

18 19
function prepareGame() {
  let dataProvider = getDataProvider();
Alexander Bazo committed
20
  StarGazer.init({
21 22 23 24 25 26
    canvas: canvas,
    fps: Config.TARGET_FPS,
    showFPS: Config.SHOW_FPS,
    width: Config.SCREEN_WIDTH,
    height: Config.SCREEN_HEIGHT,
    gazeDataProvider: dataProvider,
Alexander Bazo committed
27
  });
28
  canvas.requestFullscreen().then(startGame);
Alexander Bazo committed
29 30
}

31 32 33
function startGame() {
	starScreen.classList.add("hidden");
	canvas.classList.remove("hidden");
Alexander Bazo committed
34 35
}

36 37 38 39 40 41 42 43 44
function getDataProvider() {
  let provider;
  if (Config.USE_MOUSE_INPUT_AS_FAKE_GAZE_DATA === true) {
    provider = new FakeGazeDataProvider();
  } else {
    provider = new GazeDataProvider();
  }
  provider.start(Config.GAZE_SERVER_URL);
  return provider;
Alexander Bazo committed
45 46 47
}

init();