Make children panels override tickInner
This commit is contained in:
parent
49caf1c0b2
commit
d66b96c791
@ -142,8 +142,8 @@ class MatterPanelScreen(
|
||||
return menu.tasks.firstOrNull { it.id == task.id }?.let { it.stack((it.required + it.inProgress).coerceAtLeast(1)) } ?: task.stack((task.required + task.inProgress).coerceAtLeast(1))
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
if (!menu.tasks.any { it.id == task.id }) {
|
||||
frame.remove()
|
||||
@ -208,8 +208,8 @@ class MatterPanelScreen(
|
||||
}
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
if (!menu.patterns.any { it.id == pattern.id }) {
|
||||
frame.remove()
|
||||
|
@ -1598,10 +1598,15 @@ open class EditablePanel<out S : Screen> @JvmOverloads constructor(
|
||||
return x >= pos.x && x <= pos.x + width && y >= pos.y && y + height <= pos.y
|
||||
}
|
||||
|
||||
protected var tick = 0
|
||||
var tickCount = 0
|
||||
private set
|
||||
|
||||
open fun tick() {
|
||||
tick++
|
||||
protected open fun tickInner() {}
|
||||
|
||||
fun tick() {
|
||||
tickCount++
|
||||
|
||||
tickInner()
|
||||
|
||||
for (child in Array(visibleChildrenInternal.size) { visibleChildrenInternal[it] }) {
|
||||
child.tick()
|
||||
|
@ -100,8 +100,8 @@ open class EffectListPanel<out S : Screen> @JvmOverloads constructor(
|
||||
return true
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
if (!isStillValid) {
|
||||
effectButtons.remove(effectType)
|
||||
@ -163,14 +163,14 @@ open class EffectListPanel<out S : Screen> @JvmOverloads constructor(
|
||||
canvas.yOffset = newScroll * -26f
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
override fun tickInner() {
|
||||
for (effect in entity.activeEffects) {
|
||||
effectButtons.computeIfAbsent(effect.effect, Object2ObjectFunction {
|
||||
EffectSquare(effect)
|
||||
})
|
||||
}
|
||||
|
||||
super.tick()
|
||||
super.tickInner()
|
||||
}
|
||||
|
||||
val canvas = object : EditablePanel<S>(screen, this@EffectListPanel, 0f, 0f, width, height) {
|
||||
|
@ -26,8 +26,8 @@ abstract class Widget2Panel<out S : Screen, T : AbstractWidget>(
|
||||
val isWidgetDisabled: Boolean
|
||||
get() = disableTicks > 0
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
if (disableTicks > 0) {
|
||||
disableTicks--
|
||||
|
@ -41,8 +41,8 @@ fun <S : MatteryScreen<*>> makeDeviceControls(
|
||||
redstone: IPlayerInputWithFeedback<RedstoneSetting>? = null
|
||||
): EditablePanel<S> {
|
||||
val panel = object : EditablePanel<S>(screen, parent, width = LargeEnumRectangleButtonPanel.SIZE, height = 0f, x = parent.width + 3f) {
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
x = parent.width + 3f
|
||||
y = 0f
|
||||
}
|
||||
|
@ -36,8 +36,8 @@ open class EditBoxPanel<out S : Screen>(
|
||||
new_widget.value = old_widget.value
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
widget?.tick()
|
||||
}
|
||||
|
||||
|
@ -55,8 +55,8 @@ open class NetworkNumberInputPanel<out S : Screen> @JvmOverloads constructor(
|
||||
return super.mouseClickedInner(x, y, button)
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
if (isFocused) {
|
||||
if (!isAvailable.asBoolean) {
|
||||
|
@ -34,8 +34,8 @@ open class NetworkedStringInputPanel<out S : Screen>(
|
||||
backend.accept(new)
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
if (milliTime >= lastChanges) {
|
||||
text = backend.value
|
||||
|
@ -182,8 +182,8 @@ open class TextInputPanel<out S : Screen>(
|
||||
|
||||
private var snapshotTimer: Long? = null
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
if (snapshotTimer != null && snapshotTimer!! <= milliTime) {
|
||||
pushbackSnapshot()
|
||||
|
@ -64,8 +64,8 @@ open class FoldableSlotPanel<out S : MatteryScreen<*>, out T : Slot> @JvmOverloa
|
||||
remove()
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
x = this@FoldableSlotPanel.absoluteX - dockPadding.left
|
||||
y = this@FoldableSlotPanel.absoluteY - dockPadding.top
|
||||
@ -92,8 +92,8 @@ open class FoldableSlotPanel<out S : MatteryScreen<*>, out T : Slot> @JvmOverloa
|
||||
hoverPanel?.remove()
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
val hoveringSince = hoveringSince
|
||||
|
||||
|
@ -42,8 +42,8 @@ class StoragePowerSupplierScreen(menu: StoragePowerSupplierMenu, inventory: Inve
|
||||
dock = Dock.TOP
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
text = TranslatableComponent(
|
||||
"otm.item.power.passed",
|
||||
@ -57,8 +57,8 @@ class StoragePowerSupplierScreen(menu: StoragePowerSupplierMenu, inventory: Inve
|
||||
dock = Dock.TOP
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
text = TranslatableComponent(
|
||||
"otm.gui.power_supplier.active_nodes",
|
||||
|
@ -551,8 +551,8 @@ class AndroidStationScreen constructor(p_97741_: AndroidStationMenu, p_97742_: I
|
||||
return super.mouseClickedInner(x, y, button)
|
||||
}
|
||||
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
if (isPreview && !layoutInvalidated) {
|
||||
if (firstTick) {
|
||||
|
@ -17,8 +17,8 @@ class EnergyCounterScreen(menu: EnergyCounterMenu, inventory: Inventory, title:
|
||||
val frame = super.makeMainFrame()!!
|
||||
|
||||
var label: Label<EnergyCounterScreen> = object : Label<EnergyCounterScreen>(this@EnergyCounterScreen, frame) {
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
text = TranslatableComponent(
|
||||
"otm.item.power.passed",
|
||||
menu.passed.formatPower(formatAsReadable = ShiftPressedCond)
|
||||
@ -30,8 +30,8 @@ class EnergyCounterScreen(menu: EnergyCounterMenu, inventory: Inventory, title:
|
||||
label.setDockMargin(4f, 0f, 0f, 0f)
|
||||
|
||||
label = object : Label<EnergyCounterScreen>(this@EnergyCounterScreen, frame) {
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
text = TranslatableComponent(
|
||||
"otm.item.power.average",
|
||||
menu.average.formatPower(formatAsReadable = ShiftPressedCond)
|
||||
@ -43,8 +43,8 @@ class EnergyCounterScreen(menu: EnergyCounterMenu, inventory: Inventory, title:
|
||||
label.setDockMargin(4f, 0f, 0f, 0f)
|
||||
|
||||
label = object : Label<EnergyCounterScreen>(this@EnergyCounterScreen, frame) {
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
text = TranslatableComponent(
|
||||
"otm.item.power.last_20_ticks",
|
||||
menu.last20Ticks.formatPower(formatAsReadable = ShiftPressedCond)
|
||||
@ -56,8 +56,8 @@ class EnergyCounterScreen(menu: EnergyCounterMenu, inventory: Inventory, title:
|
||||
label.setDockMargin(4f, 0f, 0f, 0f)
|
||||
|
||||
label = object : Label<EnergyCounterScreen>(this@EnergyCounterScreen, frame) {
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
text = TranslatableComponent(
|
||||
"otm.item.power.last_tick",
|
||||
menu.lastTick.formatPower(formatAsReadable = ShiftPressedCond)
|
||||
@ -69,8 +69,8 @@ class EnergyCounterScreen(menu: EnergyCounterMenu, inventory: Inventory, title:
|
||||
label.setDockMargin(4f, 0f, 0f, 0f)
|
||||
|
||||
label = object : Label<EnergyCounterScreen>(this@EnergyCounterScreen, frame) {
|
||||
override fun tick() {
|
||||
super.tick()
|
||||
override fun tickInner() {
|
||||
super.tickInner()
|
||||
|
||||
text = TranslatableComponent(
|
||||
"block.overdrive_that_matters.energy_counter.facing",
|
||||
|
@ -49,7 +49,7 @@ open class ProgressGaugePanel<S : Screen> @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
override fun innerRender(stack: PoseStack, mouseX: Float, mouseY: Float, partialTick: Float) {
|
||||
if (widget.isStuck() && tick % 40 <= 20) {
|
||||
if (widget.isStuck() && tickCount % 40 <= 20) {
|
||||
RenderSystem.setShaderColor(0.75f, 0.4f, 0.4f, 1f)
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ open class ProgressGaugePanel<S : Screen> @JvmOverloads constructor(
|
||||
GAUGE_FOREGROUND.renderPartial(stack, height = height, width = width)
|
||||
}
|
||||
|
||||
if (widget.isStuck() && tick % 40 <= 20) {
|
||||
if (widget.isStuck() && tickCount % 40 <= 20) {
|
||||
RenderSystem.setShaderColor(1f, 1f, 1f, 1f)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user