Make ProfilePage more generic
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
package moe.nea.firmament.gui.profileviewer
|
||||
|
||||
import io.github.cottonmc.cotton.gui.widget.WWidget
|
||||
import io.github.cottonmc.cotton.gui.widget.icon.Icon
|
||||
import net.minecraft.text.Text
|
||||
|
||||
interface ProfilePage {
|
||||
fun getElements(profileViewer: ProfileViewer): WWidget
|
||||
val icon: Icon
|
||||
val text: Text
|
||||
}
|
||||
|
||||
@@ -1,18 +1,10 @@
|
||||
package moe.nea.firmament.gui.profileviewer
|
||||
|
||||
import io.github.cottonmc.cotton.gui.client.LightweightGuiDescription
|
||||
import io.github.cottonmc.cotton.gui.widget.WGridPanel
|
||||
import io.github.cottonmc.cotton.gui.widget.WTabPanel
|
||||
import io.github.cottonmc.cotton.gui.widget.data.Insets
|
||||
import io.github.cottonmc.cotton.gui.widget.icon.ItemIcon
|
||||
import java.util.UUID
|
||||
import net.minecraft.item.Items
|
||||
import net.minecraft.text.Text
|
||||
import net.minecraft.util.DyeColor
|
||||
import moe.nea.firmament.apis.Member
|
||||
import moe.nea.firmament.apis.Profile
|
||||
import moe.nea.firmament.gui.WBar
|
||||
import moe.nea.firmament.util.toShedaniel
|
||||
|
||||
class ProfileViewer(
|
||||
val primaryPlayer: UUID,
|
||||
@@ -26,10 +18,13 @@ class ProfileViewer(
|
||||
init {
|
||||
val panel = WTabPanel().also { rootPanel = it }
|
||||
panel.backgroundPainter
|
||||
panel.add(SkillPage.getElements(this)) {
|
||||
it.icon(ItemIcon(Items.IRON_SWORD))
|
||||
it.title(Text.translatable("firmament.pv.skills"))
|
||||
}
|
||||
listOf<ProfilePage>(SkillPage)
|
||||
.forEach { page ->
|
||||
panel.add(page.getElements(this)) {
|
||||
it.icon(page.icon)
|
||||
it.tooltip(page.text)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,10 @@ import io.github.cottonmc.cotton.gui.widget.WGridPanel
|
||||
import io.github.cottonmc.cotton.gui.widget.WText
|
||||
import io.github.cottonmc.cotton.gui.widget.WWidget
|
||||
import io.github.cottonmc.cotton.gui.widget.data.Insets
|
||||
import io.github.cottonmc.cotton.gui.widget.icon.Icon
|
||||
import io.github.cottonmc.cotton.gui.widget.icon.ItemIcon
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.item.Items
|
||||
import net.minecraft.text.Text
|
||||
import moe.nea.firmament.apis.Skill
|
||||
import moe.nea.firmament.gui.WBar
|
||||
@@ -37,4 +41,9 @@ object SkillPage : ProfilePage {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override val icon: Icon
|
||||
get() = ItemIcon(ItemStack(Items.IRON_SWORD))
|
||||
override val text: Text
|
||||
get() = Text.translatable("firmament.pv.skills")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user