aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/mc/InitLevel.kt
blob: 2c3eedb39cec239d595773a110d5d229dfc3615f (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
package moe.nea.firmament.util.mc

enum class InitLevel {
	STARTING,
	MC_INIT,
	RENDER_INIT,
	RENDER,
	MAIN_MENU,
	;

	companion object {
		var initLevel = InitLevel.STARTING
			private set

		@JvmStatic
		fun isAtLeast(wantedLevel: InitLevel): Boolean = initLevel >= wantedLevel

		@JvmStatic
		fun bump(nextLevel: InitLevel) {
			if (nextLevel.ordinal != initLevel.ordinal + 1)
				error("Cannot bump initLevel $nextLevel from $initLevel")
			initLevel = nextLevel
		}
	}
}