116 lines
2.5 KiB
Java
116 lines
2.5 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("cr")
|
|
@Implements("HealthBar")
|
|
public class HealthBar extends Node {
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "Lke;"
|
|
)
|
|
@Export("ItemDefinition_fontPlain11")
|
|
public static Font ItemDefinition_fontPlain11;
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
signature = "Lip;"
|
|
)
|
|
@Export("definition")
|
|
HealthBarDefinition definition;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "Lju;"
|
|
)
|
|
@Export("updates")
|
|
IterableNodeDeque updates;
|
|
|
|
@ObfuscatedSignature(
|
|
signature = "(Lip;)V"
|
|
)
|
|
HealthBar(HealthBarDefinition var1) {
|
|
this.updates = new IterableNodeDeque();
|
|
this.definition = var1;
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIB)V",
|
|
garbageValue = "87"
|
|
)
|
|
@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("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)Lbu;",
|
|
garbageValue = "41"
|
|
)
|
|
@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("e")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "-16711936"
|
|
)
|
|
@Export("isEmpty")
|
|
boolean isEmpty() {
|
|
return this.updates.isEmpty();
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)I",
|
|
garbageValue = "35"
|
|
)
|
|
public static int method1957(int var0) {
|
|
return var0 >> 11 & 63;
|
|
}
|
|
}
|