summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.kt')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.kt34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.kt
index f78242a47..4c83e9527 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/FloatSetting.kt
@@ -3,10 +3,32 @@
package org.yuzu.yuzu_emu.features.settings.model
-class FloatSetting(
- key: String,
- section: String,
- var value: Float
-) : Setting(key, section) {
- override val valueAsString get() = value.toString()
+enum class FloatSetting(
+ override val key: String,
+ override val section: String,
+ val defaultValue: Float
+) : AbstractFloatSetting {
+ // No float settings currently exist
+ EMPTY_SETTING("", "", 0f);
+
+ override var float: Float = defaultValue
+
+ override val valueAsString: String
+ get() = float.toString()
+
+ override val isRuntimeEditable: Boolean
+ get() {
+ for (setting in NOT_RUNTIME_EDITABLE) {
+ if (setting == this) {
+ return false
+ }
+ }
+ return true
+ }
+
+ companion object {
+ private val NOT_RUNTIME_EDITABLE = emptyList<FloatSetting>()
+
+ fun from(key: String): FloatSetting? = FloatSetting.values().firstOrNull { it.key == key }
+ }
}