Store the Category enum class in the companion object of ButtonInfo

This commit is contained in:
Username404 2021-06-24 22:29:16 +02:00
parent 2d679bf0e3
commit dbc7f6b8bf
Signed by: Username404-59
GPG Key ID: 7AB361FBB257A5D1
1 changed files with 25 additions and 22 deletions

View File

@ -20,28 +20,31 @@ annotation class ButtonInfo(
TOGGLE,
CLICK
}
}
}; enum class Category(val translationKey: String, val categoryColor: Int, val shouldHide: Boolean = false) {
MISC("snowy.clickbox.misc", Colors.BLUE),
RISKY("snowy.clickbox.risky", Colors.RED, !riskyCheats),
MACROS("snowy.clickbox.macros", Colors.GREEN);
companion object {
fun fromBox(box: ClickBox): Category? = values().find {
box.isCategory(it)
enum class Category(val translationKey: String, val categoryColor: Int, val shouldHide: Boolean = false) {
MISC("snowy.clickbox.misc", Colors.BLUE),
RISKY("snowy.clickbox.risky", Colors.RED, !riskyCheats),
MACROS("snowy.clickbox.macros", Colors.GREEN);
companion object {
fun fromBox(box: ClickBox): Category? = values().find {
box.isCategory(it)
}
}
var box: ClickBox = ClickBox(
x = 4.0 + (ordinal - ClickGui.clickBoxes.count { category ->
category.hidden
}) * 86, y = 4.0,
name = TranslatableComponent(translationKey),
color = categoryColor
); private set
constructor(
translationKey: String, categoryColor: Colors, condition: Boolean = false
): this(translationKey, categoryColor.hexValue, condition)
constructor(box: ClickBox): this(translationKey = box.name.key, categoryColor = box.color) { this.box = box }
init {
ClickGui.components.add(box.apply { if (shouldHide) hidden = true })
}
}
}
var box: ClickBox = ClickBox(
x = 4.0 + (ordinal - ClickGui.clickBoxes.count { category ->
category.hidden
}) * 86, y = 4.0,
name = TranslatableComponent(translationKey),
color = categoryColor
); private set
constructor(
translationKey: String, categoryColor: Colors, condition: Boolean = false
): this(translationKey, categoryColor.hexValue, condition)
constructor(box: ClickBox): this(translationKey = box.name.key, categoryColor = box.color) { this.box = box }
init {
ClickGui.components.add(box.apply { if (shouldHide) hidden = true })
}
}
typealias Category = ButtonInfo.Companion.Category