Future openGameView()

Creates a new game view and hides the menu.

Source

openGameView() async {
    // Setup Elements
    var worldElement = get("world");

    if (get("bigLabel") == null)                create(_gameLayer, "bigLabel");
    if (worldElement    == null) worldElement = create(_gameLayer, "world");

    final statsElement = create(_gameLayer, "stats");
    final enemyCountElement = create(statsElement, "enemyCount");
    _gameMode.onEnemyCountChange.listen((count) => enemyCountElement.setInnerHtml("Enemies left: ${count}"));

    // Setup World Dimensions
    setDimensions(worldElement, _gameMode.world.size * _pixelScale);

    // Setup Listeners
    _gameMode.world.onActorSpawned.listen(createActor);
    _gameMode.world.onActorRemoved.listen(removeActor);
    for (var actor in _gameMode.world.actors) createActor(actor);

    // Toggle States
    show(_gameLayer);
    hide(_menuLayer);
    activate(_mainElement);
    activate(_inputLayer);

    await nextFrame();

    deactivate(_menuLayer);
    activate(_gameLayer);
}