119 lines
2.7 KiB
Java
119 lines
2.7 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedGetter;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("cg")
|
|
@Implements("HealthBar")
|
|
public class HealthBar extends Node {
|
|
@ObfuscatedName("rf")
|
|
@ObfuscatedGetter(
|
|
intValue = -1163501961
|
|
)
|
|
static int field1145;
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "Lid;"
|
|
)
|
|
@Export("definition")
|
|
HealthBarDefinition definition;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "Ljm;"
|
|
)
|
|
@Export("updates")
|
|
IterableNodeDeque updates;
|
|
|
|
@ObfuscatedSignature(
|
|
signature = "(Lid;)V"
|
|
)
|
|
HealthBar(HealthBarDefinition var1) {
|
|
this.updates = new IterableNodeDeque();
|
|
this.definition = var1;
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIB)V",
|
|
garbageValue = "86"
|
|
)
|
|
@Export("put")
|
|
void put(int var1, int var2, int var3, int var4) {
|
|
HealthBarUpdate var5 = null;
|
|
int var6 = 0;
|
|
|
|
for (HealthBarUpdate var7 = (HealthBarUpdate)this.updates.last(); var7 != null; var7 = (HealthBarUpdate)this.updates.previous()) {
|
|
++var6;
|
|
if (var7.cycle == var1) {
|
|
var7.set(var1, var2, var3, var4);
|
|
return;
|
|
}
|
|
|
|
if (var7.cycle <= var1) {
|
|
var5 = var7;
|
|
}
|
|
}
|
|
|
|
if (var5 == null) {
|
|
if (var6 < 4) {
|
|
this.updates.addLast(new HealthBarUpdate(var1, var2, var3, var4));
|
|
}
|
|
|
|
} else {
|
|
IterableNodeDeque.IterableNodeDeque_addBefore(new HealthBarUpdate(var1, var2, var3, var4), var5);
|
|
if (var6 >= 4) {
|
|
this.updates.last().remove();
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)Lcc;",
|
|
garbageValue = "1772939720"
|
|
)
|
|
@Export("get")
|
|
HealthBarUpdate get(int var1) {
|
|
HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last();
|
|
if (var2 != null && var2.cycle <= var1) {
|
|
for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) {
|
|
var2.remove();
|
|
var2 = var3;
|
|
}
|
|
|
|
if (this.definition.int5 + var2.cycle + var2.cycleOffset > var1) {
|
|
return var2;
|
|
} else {
|
|
var2.remove();
|
|
return null;
|
|
}
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "1327552245"
|
|
)
|
|
@Export("isEmpty")
|
|
boolean isEmpty() {
|
|
return this.updates.method4891();
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-1544257049"
|
|
)
|
|
static void method2124() {
|
|
Login.worldSelectOpen = false;
|
|
Login.leftTitleSprite.drawAt(Login.xPadding, 0);
|
|
DirectByteArrayCopier.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
|
|
class3.logoSprite.drawAt(Login.xPadding + 382 - class3.logoSprite.subWidth / 2, 18);
|
|
}
|
|
}
|