51 lines
1.9 KiB
Java
Executable File
51 lines
1.9 KiB
Java
Executable File
package eu.crushedpixel.replaymod.gui.elements;
|
|
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.gui.GuiButton;
|
|
|
|
import java.awt.*;
|
|
|
|
public class GuiArrowButton extends GuiButton {
|
|
|
|
public enum Direction {
|
|
UP, DOWN, RIGHT, LEFT;
|
|
}
|
|
|
|
private Direction dir;
|
|
|
|
public GuiArrowButton(int buttonId, int x, int y, String buttonText, Direction dir) {
|
|
super(buttonId, x, y, buttonText);
|
|
|
|
this.dir = dir;
|
|
width = 20;
|
|
height = 20;
|
|
}
|
|
|
|
@Override
|
|
public void drawButton(Minecraft mc, int mouseX, int mouseY) {
|
|
try {
|
|
super.drawButton(mc, mouseX, mouseY);
|
|
if(dir == Direction.UP) {
|
|
for(int i = 0; i <= Math.ceil(height / 2) - 5; i++) {
|
|
drawHorizontalLine(xPosition + width - height + i + 4, xPosition + width - i - 6, yPosition + height - ((height / 3) + i + 2), Color.BLACK.getRGB());
|
|
}
|
|
} else if(dir == Direction.DOWN) {
|
|
for(int i = 0; i <= Math.ceil(height / 2) - 5; i++) {
|
|
drawHorizontalLine(xPosition + width - height + i + 4, xPosition + width - i - 6, yPosition + (height / 3) + i + 2, Color.BLACK.getRGB());
|
|
}
|
|
} else if(dir == Direction.LEFT) {
|
|
for(int i = -1; i < Math.ceil(height / 2) - 5; i++) {
|
|
drawVerticalLine(xPosition + height - ((height / 3) + i + 4), yPosition + width - height + i + 4, yPosition + width - i - 6, Color.BLACK.getRGB());
|
|
}
|
|
} else if(dir == Direction.RIGHT) {
|
|
for(int i = -1; i < Math.ceil(height / 2) - 5; i++) {
|
|
drawVerticalLine(xPosition + (height / 3) + i + 2, yPosition + width - height + i + 4, yPosition + width - i - 6, Color.BLACK.getRGB());
|
|
}
|
|
}
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
}
|