diff options
author | Appability <appable@icloud.com> | 2022-10-23 12:00:05 -0700 |
---|---|---|
committer | Appability <appable@icloud.com> | 2022-10-23 12:00:05 -0700 |
commit | 0576a7f5304565bb58a499b8ccdcda31ed587dc4 (patch) | |
tree | 766fad4c88ec8be5b142e338f097b67aa7322234 /src/main/kotlin/com/ambientaddons/gui | |
parent | 4f25e7948c7e85151a80c17f7d2b25b72675cecf (diff) | |
download | AmbientAddons-0576a7f5304565bb58a499b8ccdcda31ed587dc4.tar.gz AmbientAddons-0576a7f5304565bb58a499b8ccdcda31ed587dc4.tar.bz2 AmbientAddons-0576a7f5304565bb58a499b8ccdcda31ed587dc4.zip |
ping command and display
Diffstat (limited to 'src/main/kotlin/com/ambientaddons/gui')
-rw-r--r-- | src/main/kotlin/com/ambientaddons/gui/GuiElement.kt | 6 | ||||
-rw-r--r-- | src/main/kotlin/com/ambientaddons/gui/MoveGui.kt | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/main/kotlin/com/ambientaddons/gui/GuiElement.kt b/src/main/kotlin/com/ambientaddons/gui/GuiElement.kt index c398464..7cb65e3 100644 --- a/src/main/kotlin/com/ambientaddons/gui/GuiElement.kt +++ b/src/main/kotlin/com/ambientaddons/gui/GuiElement.kt @@ -1,5 +1,6 @@ package com.ambientaddons.gui +import AmbientAddons.Companion.guiElements import AmbientAddons.Companion.persistentData import com.ambientaddons.utils.render.OverlayUtils import gg.essential.universal.UResolution @@ -33,8 +34,9 @@ class GuiElement(val name: String, private val width: Int, private val height: I val renderWidth = width * position.scale val renderHeight = height * position.scale GlStateManager.translate(position.x - padding * renderWidth, position.y - padding * renderWidth, 400.0) - val color = if (isInsideElement(mouseX, mouseY)) Color(255, 255, 255, 128) else Color(128, 128, 128, 128) - OverlayUtils.renderRect(0.0, 0.0, renderWidth * (1 + padding * 2), renderHeight * (1 + padding * 2), color) + val color = if (guiElements.find { it.isInsideElement(mouseX, mouseY) } == this) + Color(255, 255, 255, 128) else Color(128, 128, 128, 128) + OverlayUtils.renderRect(0.0, 0.0, renderWidth * (1 + padding * 2), renderHeight * (1 + padding * 2), color) GlStateManager.popMatrix() } diff --git a/src/main/kotlin/com/ambientaddons/gui/MoveGui.kt b/src/main/kotlin/com/ambientaddons/gui/MoveGui.kt index 33c96e7..61bb41b 100644 --- a/src/main/kotlin/com/ambientaddons/gui/MoveGui.kt +++ b/src/main/kotlin/com/ambientaddons/gui/MoveGui.kt @@ -11,6 +11,7 @@ import net.minecraft.client.renderer.GlStateManager import org.lwjgl.input.Mouse import org.lwjgl.opengl.Display import java.awt.Color +import kotlin.math.sign class MoveGui : GuiScreen() { private var currentElement: GuiElement? = null @@ -53,12 +54,12 @@ class MoveGui : GuiScreen() { override fun handleMouseInput() { super.handleMouseInput() val (mouseX, mouseY) = getMouseCoordinates() + val dScroll = (Mouse.getEventDWheel().sign * 0.1).takeIf { it != 0.0 } ?: return currentElement = guiElements.find { it.isInsideElement(mouseX, mouseY) }?.apply { clickOffsetX = mouseX - position.x clickOffsetY = mouseY - position.y - val scrollAmount = Mouse.getEventDWheel() val oldScale = position.scale - val newScale = (position.scale + scrollAmount / 7200.0).coerceAtLeast(0.1) + val newScale = (position.scale + dScroll).coerceAtLeast(0.1) position.x = mouseX + (newScale / oldScale) * (position.x - mouseX) position.y = mouseY + (newScale / oldScale) * (position.y - mouseY) position.scale = newScale |