index.js 1.24 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
    canvas: canvas,
    fps: Config.TARGET_FPS,
23 24
    version: `Star Gazer, build ${Config.GAME_VERSION}`,
    showDebug: Config.SHOW_DEBUG_INFO,
25 26 27
    width: Config.SCREEN_WIDTH,
    height: Config.SCREEN_HEIGHT,
    gazeDataProvider: dataProvider,
Alexander Bazo committed
28
  });
29
  canvas.requestFullscreen().then(startGame);
Alexander Bazo committed
30 31
}

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

37 38 39 40 41 42 43 44 45
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
46 47 48
}

init();