diff options
Diffstat (limited to 'src/main/kotlin/features/debug/DebugView.kt')
-rw-r--r-- | src/main/kotlin/features/debug/DebugView.kt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/kotlin/features/debug/DebugView.kt b/src/main/kotlin/features/debug/DebugView.kt new file mode 100644 index 0000000..7e1b8ec --- /dev/null +++ b/src/main/kotlin/features/debug/DebugView.kt @@ -0,0 +1,38 @@ + + +package moe.nea.firmament.features.debug + +import moe.nea.firmament.Firmament +import moe.nea.firmament.events.TickEvent +import moe.nea.firmament.features.FirmamentFeature +import moe.nea.firmament.util.TimeMark + +object DebugView : FirmamentFeature { + private data class StoredVariable<T>( + val obj: T, + val timer: TimeMark, + ) + + private val storedVariables: MutableMap<String, StoredVariable<*>> = sortedMapOf() + override val identifier: String + get() = "debug-view" + override val defaultEnabled: Boolean + get() = Firmament.DEBUG + + fun <T : Any?> showVariable(label: String, obj: T) { + synchronized(this) { + storedVariables[label] = StoredVariable(obj, TimeMark.now()) + } + } + + fun recalculateDebugWidget() { + } + + override fun onLoad() { + TickEvent.subscribe { + synchronized(this) { + recalculateDebugWidget() + } + } + } +} |