mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-12 17:07:55 -04:00
rename LayoutedElement
This commit is contained in:
parent
162d298917
commit
eeb44b5552
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Minosoft
|
||||
* Copyright (C) 2020-2022 Moritz Zwerger
|
||||
* Copyright (C) 2020-2023 Moritz Zwerger
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
@ -15,6 +15,6 @@ package de.bixilon.minosoft.gui.rendering.gui.elements
|
||||
|
||||
import de.bixilon.kotlinglm.vec2.Vec2
|
||||
|
||||
interface LayoutedElement {
|
||||
val layoutOffset: Vec2
|
||||
interface ScreenPositionedElement {
|
||||
val screenOffset: Vec2
|
||||
}
|
@ -25,8 +25,8 @@ import de.bixilon.minosoft.config.key.KeyCodes
|
||||
import de.bixilon.minosoft.gui.rendering.gui.GUIElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Pollable
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.dragged.Dragged
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.screen.CreditsScreen
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.screen.SignEditorScreen
|
||||
@ -283,7 +283,7 @@ class GUIManager(
|
||||
onMouseMove(guiRenderer.currentMousePosition)
|
||||
}
|
||||
|
||||
fun push(element: LayoutedElement) {
|
||||
fun push(element: ScreenPositionedElement) {
|
||||
val layouted = LayoutedGUIElement(element)
|
||||
layouted.init()
|
||||
layouted.postInit()
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Minosoft
|
||||
* Copyright (C) 2020-2022 Moritz Zwerger
|
||||
* Copyright (C) 2020-2023 Moritz Zwerger
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
@ -16,21 +16,21 @@ package de.bixilon.minosoft.gui.rendering.gui.gui
|
||||
import de.bixilon.kotlinglm.vec2.Vec2
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.dragged.Dragged
|
||||
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.isGreater
|
||||
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.isSmaller
|
||||
|
||||
open class LayoutedGUIElement<T : LayoutedElement>(
|
||||
open class LayoutedGUIElement<T : ScreenPositionedElement>(
|
||||
val layout: T,
|
||||
) : GUIMeshElement<Element>(layout.unsafeCast()) {
|
||||
|
||||
override fun prepareAsync() {
|
||||
prepareAsync(layout.layoutOffset)
|
||||
prepareAsync(layout.screenOffset)
|
||||
}
|
||||
|
||||
protected open fun getOffset(position: Vec2): Vec2? {
|
||||
val layoutOffset = layout.layoutOffset
|
||||
val layoutOffset = layout.screenOffset
|
||||
val size = element.size
|
||||
if (position isSmaller layoutOffset) {
|
||||
return null
|
||||
|
@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.text.formatting.color.RGBColor
|
||||
import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.GuiDelegate
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.ColorElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions
|
||||
@ -29,10 +29,10 @@ abstract class Popper(
|
||||
guiRenderer: GUIRenderer,
|
||||
position: Vec2,
|
||||
val background: Boolean = true,
|
||||
) : Element(guiRenderer), LayoutedElement {
|
||||
) : Element(guiRenderer), ScreenPositionedElement {
|
||||
private val backgroundElement = ColorElement(guiRenderer, Vec2.EMPTY, color = RGBColor(10, 10, 20, 230))
|
||||
open var dead = false
|
||||
override var layoutOffset: Vec2 = EMPTY
|
||||
override var screenOffset: Vec2 = EMPTY
|
||||
protected set
|
||||
var position by GuiDelegate(position)
|
||||
|
||||
@ -65,12 +65,12 @@ abstract class Popper(
|
||||
layoutOffset = position - Vec2(0, size.y + POSITION_OFFSET)
|
||||
if (!(layoutOffset isSmaller EMPTY)) {
|
||||
layoutOffset.x = minOf(maxOf(layoutOffset.x - size.x / 2 - POSITION_OFFSET, 0.0f), windowSize.x - size.x) // try to center element, but clamp on edges (try not to make the popper go out of the window)
|
||||
this.layoutOffset = layoutOffset
|
||||
this.screenOffset = layoutOffset
|
||||
return
|
||||
}
|
||||
|
||||
// failover
|
||||
this.layoutOffset = EMPTY
|
||||
this.screenOffset = EMPTY
|
||||
}
|
||||
|
||||
fun show() {
|
||||
|
@ -19,7 +19,7 @@ import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.ChildedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.collection.SetChildrenManager
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.AtlasImageElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions
|
||||
@ -27,10 +27,10 @@ import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.EMPTY
|
||||
|
||||
abstract class Screen(
|
||||
guiRenderer: GUIRenderer,
|
||||
) : Element(guiRenderer), LayoutedElement, ChildedElement {
|
||||
) : Element(guiRenderer), ScreenPositionedElement, ChildedElement {
|
||||
override val children = SetChildrenManager(this)
|
||||
protected val background = AtlasImageElement(guiRenderer, context.textures.whiteTexture, size = guiRenderer.screen.scaled, tint = RGBColor(0.0f, 0.0f, 0.0f, 0.8f))
|
||||
override val layoutOffset: Vec2 = Vec2(0, 0)
|
||||
override val screenOffset: Vec2 = Vec2(0, 0)
|
||||
|
||||
|
||||
override fun update() {
|
||||
|
@ -20,18 +20,18 @@ import de.bixilon.minosoft.data.bossbar.Bossbar
|
||||
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||
import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.layout.RowLayout
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.hud.elements.HUDBuilder
|
||||
import de.bixilon.minosoft.util.Initializable
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
class BossbarLayout(guiRenderer: GUIRenderer) : RowLayout(guiRenderer, HorizontalAlignments.CENTER, 2.0f), LayoutedElement, Initializable {
|
||||
class BossbarLayout(guiRenderer: GUIRenderer) : RowLayout(guiRenderer, HorizontalAlignments.CENTER, 2.0f), ScreenPositionedElement, Initializable {
|
||||
private val connection = context.connection
|
||||
private val bossbars: MutableMap<Bossbar, BossbarElement> = synchronizedMapOf()
|
||||
|
||||
override val layoutOffset: Vec2
|
||||
override val screenOffset: Vec2
|
||||
get() = Vec2((guiRenderer.screen.scaled.x - super.size.x) / 2, 2)
|
||||
|
||||
val atlasManager = guiRenderer.atlasManager
|
||||
|
@ -26,7 +26,7 @@ import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||
import de.bixilon.minosoft.gui.rendering.font.renderer.element.TextRenderProperties
|
||||
import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.GUIBuilder
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.elements.input.node.NodeTextInputElement
|
||||
@ -39,7 +39,7 @@ import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companio
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
import de.bixilon.minosoft.util.delegate.RenderingDelegate.observeRendering
|
||||
|
||||
class ChatElement(guiRenderer: GUIRenderer) : AbstractChatElement(guiRenderer), LayoutedElement {
|
||||
class ChatElement(guiRenderer: GUIRenderer) : AbstractChatElement(guiRenderer), ScreenPositionedElement {
|
||||
private val chatProfile = profile.chat
|
||||
private val input = NodeTextInputElement(guiRenderer, ChatNode("", allowCLI = true), maxLength = connection.version.maxChatMessageSize).apply { parent = this@ChatElement }
|
||||
private val internal = InternalChatElement(guiRenderer).apply { parent = this@ChatElement }
|
||||
@ -61,7 +61,7 @@ class ChatElement(guiRenderer: GUIRenderer) : AbstractChatElement(guiRenderer),
|
||||
override val activeWhenHidden: Boolean
|
||||
get() = true
|
||||
|
||||
override val layoutOffset: Vec2
|
||||
override val screenOffset: Vec2
|
||||
get() = Vec2(0, guiRenderer.screen.scaled.y - maxOf(messages.size.y, internal.size.y) - (LINES * TEXT_PROPERTIES.lineHeight) - CHAT_INPUT_MARGIN * 2)
|
||||
|
||||
|
||||
|
@ -28,7 +28,7 @@ import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.colle
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments.Companion.getOffset
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.text.fade.FadingTextElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.text.fade.FadingTimes
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement
|
||||
@ -44,7 +44,7 @@ import de.bixilon.minosoft.util.Initializable
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
import de.bixilon.minosoft.util.delegate.RenderingDelegate.observeRendering
|
||||
|
||||
class HotbarElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable, ChildedElement {
|
||||
class HotbarElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable, ChildedElement {
|
||||
override val children = ListChildrenManager(this)
|
||||
val core = HotbarCoreElement(guiRenderer)
|
||||
|
||||
@ -60,7 +60,7 @@ class HotbarElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedEl
|
||||
private var itemTextSize: Vec2? = null
|
||||
|
||||
|
||||
override val layoutOffset: Vec2
|
||||
override val screenOffset: Vec2
|
||||
get() = size.let { Vec2((guiRenderer.screen.scaled.x - it.x) / 2, guiRenderer.screen.scaled.y - it.y) }
|
||||
|
||||
private var renderElements = setOf(
|
||||
|
@ -22,7 +22,7 @@ import de.bixilon.minosoft.gui.rendering.gui.GuiDelegate
|
||||
import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.ChildedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.SingleChildrenManager
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.hud.elements.HUDBuilder
|
||||
@ -31,10 +31,10 @@ import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
class PerformanceHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, ChildedElement {
|
||||
class PerformanceHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, ChildedElement {
|
||||
override val children = SingleChildrenManager()
|
||||
private val text = TextElement(guiRenderer, "", parent = this)
|
||||
override val layoutOffset: Vec2 = Vec2(2, 2)
|
||||
override val screenOffset: Vec2 = Vec2(2, 2)
|
||||
private var fps by GuiDelegate(0.0)
|
||||
private var hide by GuiDelegate(false)
|
||||
|
||||
|
@ -38,7 +38,7 @@ import de.bixilon.minosoft.gui.rendering.font.renderer.element.TextRenderPropert
|
||||
import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.layout.RowLayout
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.spacer.LineSpacerElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.text.AutoTextElement
|
||||
@ -60,11 +60,11 @@ import de.bixilon.minosoft.util.KUtil.format
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
import de.bixilon.minosoft.util.SystemInformation
|
||||
|
||||
class DebugHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable {
|
||||
class DebugHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable {
|
||||
private val connection = context.connection
|
||||
private val left = initLeft()
|
||||
private val right = initRight()
|
||||
override val layoutOffset: Vec2 = Vec2.EMPTY
|
||||
override val screenOffset: Vec2 = Vec2.EMPTY
|
||||
override val ignoreScreenDimensions: Boolean get() = true
|
||||
|
||||
|
||||
|
@ -29,7 +29,7 @@ import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.Singl
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments.Companion.getOffset
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.ColorElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement
|
||||
@ -44,14 +44,14 @@ import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companio
|
||||
import de.bixilon.minosoft.util.Initializable
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
class ScoreboardSideElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable, AsyncDrawable, ChildedElement {
|
||||
class ScoreboardSideElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable, AsyncDrawable, ChildedElement {
|
||||
override val children = SingleChildrenManager()
|
||||
private val backgroundElement = ColorElement(guiRenderer, size = Vec2.EMPTY, color = RenderConstants.TEXT_BACKGROUND_COLOR)
|
||||
private val nameBackgroundElement = ColorElement(guiRenderer, size = Vec2.EMPTY, color = RenderConstants.TEXT_BACKGROUND_COLOR)
|
||||
private val nameElement = TextElement(guiRenderer, "", background = null, parent = this)
|
||||
private val scores: LockMap<ScoreboardScore, ScoreboardScoreElement> = lockMapOf()
|
||||
|
||||
override val layoutOffset: Vec2
|
||||
override val screenOffset: Vec2
|
||||
get() = super.size.let { return@let Vec2(guiRenderer.screen.scaled.x - it.x, (guiRenderer.screen.scaled.y - it.y) / 2) }
|
||||
override val skipDraw: Boolean
|
||||
get() = objective == null
|
||||
|
@ -32,7 +32,7 @@ import de.bixilon.minosoft.gui.rendering.gui.atlas.AtlasElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments.Companion.getOffset
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.ColorElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement
|
||||
@ -48,7 +48,7 @@ import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
import java.util.*
|
||||
import java.util.concurrent.locks.ReentrantLock
|
||||
|
||||
class TabListElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable, AsyncDrawable, ChildedElement {
|
||||
class TabListElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable, AsyncDrawable, ChildedElement {
|
||||
override val children = ListChildrenManager(this)
|
||||
val header = TextElement(guiRenderer, "", background = null, properties = TextRenderProperties(HorizontalAlignments.CENTER), parent = this)
|
||||
val footer = TextElement(guiRenderer, "", background = null, properties = TextRenderProperties(HorizontalAlignments.CENTER), parent = this)
|
||||
@ -65,7 +65,7 @@ class TabListElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedE
|
||||
private set
|
||||
private var columns = 0
|
||||
|
||||
override val layoutOffset: Vec2
|
||||
override val screenOffset: Vec2
|
||||
get() = Vec2((guiRenderer.screen.scaled.x - super.size.x) / 2, 20)
|
||||
|
||||
private val atlasManager = guiRenderer.atlasManager
|
||||
|
@ -22,7 +22,7 @@ import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.colle
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments.Companion.getOffset
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.text.fade.FadingTextElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.text.fade.FadingTimes
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement
|
||||
@ -37,7 +37,7 @@ import de.bixilon.minosoft.util.Initializable
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
// ToDo: Remove subtitle when hidden
|
||||
class TitleElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable, ChildedElement {
|
||||
class TitleElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable, ChildedElement {
|
||||
override val children = SetChildrenManager(this)
|
||||
val title = FadingTextElement(guiRenderer, "", background = null, properties = TextRenderProperties(scale = 4.0f), parent = this)
|
||||
val subtitle = FadingTextElement(guiRenderer, "", background = null, properties = TextRenderProperties(scale = 2.0f), parent = this)
|
||||
@ -49,7 +49,7 @@ class TitleElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedEle
|
||||
subtitle.times = value
|
||||
}
|
||||
|
||||
override val layoutOffset: Vec2
|
||||
override val screenOffset: Vec2
|
||||
get() {
|
||||
val layoutOffset = Vec2.EMPTY
|
||||
|
||||
|
@ -23,7 +23,7 @@ import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.ChildedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.collection.SetChildrenManager
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.Element
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.ColorElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.hud.elements.HUDBuilder
|
||||
@ -35,13 +35,13 @@ import de.bixilon.minosoft.gui.rendering.renderer.drawable.AsyncDrawable
|
||||
import de.bixilon.minosoft.input.interaction.AttackHandler
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
class WawlaHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, AsyncDrawable, ChildedElement {
|
||||
class WawlaHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, AsyncDrawable, ChildedElement {
|
||||
override val children = SetChildrenManager(this)
|
||||
private var element: WawlaElement? = null
|
||||
|
||||
val profile = guiRenderer.connection.profiles.gui.hud.wawla
|
||||
|
||||
override val layoutOffset: Vec2
|
||||
override val screenOffset: Vec2
|
||||
get() = Vec2((guiRenderer.screen.scaled.x - ((element?.size?.x ?: 0.0f) + BACKGROUND_SIZE)) / 2, BACKGROUND_SIZE)
|
||||
override val skipDraw: Boolean
|
||||
get() = !profile.enabled
|
||||
|
Loading…
x
Reference in New Issue
Block a user