40 lines
1.0 KiB
Kotlin
40 lines
1.0 KiB
Kotlin
package moe.nea.firmament.compat.moulconfig
|
|
|
|
import io.github.notenoughupdates.moulconfig.Config
|
|
import io.github.notenoughupdates.moulconfig.annotations.SearchTag
|
|
import io.github.notenoughupdates.moulconfig.gui.GuiOptionEditor
|
|
import io.github.notenoughupdates.moulconfig.processor.ProcessedCategory
|
|
import io.github.notenoughupdates.moulconfig.processor.ProcessedOption
|
|
|
|
abstract class ProcessedOptionFirm(
|
|
private val accordionId: Int,
|
|
private val config: Config
|
|
) : ProcessedOption {
|
|
lateinit var category: ProcessedCategoryFirm
|
|
override fun getAccordionId(): Int {
|
|
return accordionId
|
|
}
|
|
|
|
protected abstract fun createEditor(): GuiOptionEditor
|
|
val editorInstance by lazy { createEditor() }
|
|
|
|
override fun getSearchTags(): Array<SearchTag> {
|
|
return emptyArray()
|
|
}
|
|
|
|
override fun getEditor(): GuiOptionEditor {
|
|
return editorInstance
|
|
}
|
|
|
|
override fun getCategory(): ProcessedCategory {
|
|
return category
|
|
}
|
|
|
|
override fun getConfig(): Config {
|
|
return config
|
|
}
|
|
|
|
override fun explicitNotifyChange() {
|
|
}
|
|
}
|