aboutsummaryrefslogtreecommitdiff
path: root/game_state.wren
blob: 42e11896d39be8488c7413e8d9ee06231320a29b (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import "audio" for AudioEngine
import "dome" for Window
import "screens/menu_screen" for MenuScreen
import "screens/credit_screen" for CreditScreen
import "levels/level1" for Level1
import "levels/level2" for Level2
class GameState {
    construct new() {
        AudioEngine.load("menu_music","assets/musics/04 All of Us - Menu.ogg")
        AudioEngine.load("level1_bg","assets/musics/01 A Night Of Dizzy Spells.ogg")
        AudioEngine.load("select","assets/sfx/select.wav")
        AudioEngine.load("credit","assets/musics/Juhani Junkala [Retro Game Music Pack] Ending.wav")
        _fullScreen = false

        setupStates()
    }

    setupStates() {
        __gameStates = {
            "menu": MenuScreen,
            "credit": CreditScreen,
            "level1": Level1,
            "level2": Level2
        }
    }

    toggleFullscreen() {
        _fullScreen = !_fullScreen
        Window.fullscreen = _fullScreen
    }

    switch(level) {
        AudioEngine.stopAllChannels()
        _currentLevel = __gameStates[level].new(this)
        System.print("Current Level : %(__gameStates[level].name)")
    }

    update() {
        _currentLevel.update()
    }

    draw(dt) {
        _currentLevel.draw(dt)
    }
}