Make ButtonImpl.title open and non-null
This commit is contained in:
parent
4166418a52
commit
69625d3aef
|
@ -87,7 +87,7 @@ object Configuration {
|
|||
enabledFeatures.putAll(
|
||||
buttons.map {
|
||||
(it as ButtonImpl).run {
|
||||
title.toString() to toggled
|
||||
title to toggled
|
||||
}
|
||||
}
|
||||
)
|
||||
|
|
|
@ -45,7 +45,7 @@ sealed class ButtonImpl: ColoredElement(0.0, 0.0, 73, 8, opacity = 0.60F) {
|
|||
}
|
||||
private val info = this::class.findAnnotation<ButtonInfo>() ?: throw Exception("Missing @ButtonInfo annotaton")
|
||||
override var color = info.parent.categoryColor
|
||||
val title = this@ButtonImpl::class.simpleName
|
||||
open val title: String = this@ButtonImpl::class.simpleName.toString()
|
||||
protected open fun execAction() = Unit
|
||||
private var wasWithinBounds: Boolean = false
|
||||
var toggled: Boolean = false; private set(value) {
|
||||
|
@ -77,7 +77,7 @@ sealed class ButtonImpl: ColoredElement(0.0, 0.0, 73, 8, opacity = 0.60F) {
|
|||
defaultRectFunc()
|
||||
RenderSystem.enableTexture()
|
||||
RenderSystem.disableBlend()
|
||||
if (poseStack != null && title != null) {
|
||||
if (poseStack != null) {
|
||||
FontUtil.drawScaled(poseStack, title, x + 1, y + 1, 0.75F)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,9 @@ import fr.username404.snowygui.gui.feature.ButtonInfo.Companion.Type
|
|||
|
||||
@Serializable
|
||||
@ButtonInfo(Category.MACROS, kind = Type.CLICK)
|
||||
data class Macro(private val command: String): ButtonImpl() {
|
||||
data class Macro(
|
||||
private val command: String,
|
||||
override val title: String = command
|
||||
): ButtonImpl() {
|
||||
override fun execAction() = Minecraft.getInstance().player!!.chat("/$command")
|
||||
}
|
|
@ -42,7 +42,7 @@ class ForgeInit: Snowy() {
|
|||
(data!!.javaClass.getDeclaredField("clazz").apply { isAccessible = true }.get(data) as Type).className.let { classname ->
|
||||
classname.startsWith(FeaturePackage).let {
|
||||
it && with(Class.forName(classname)) {
|
||||
!kotlin.isAbstract && !kotlin.isData && declaredAnnotations.any { annotation ->
|
||||
(!kotlin.isAbstract || !kotlin.isData) && declaredAnnotations.any { annotation ->
|
||||
annotation is ButtonInfo
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue