Create basic scaffolding for stackable items

This commit is contained in:
2022-08-25 20:46:28 +02:00
parent 2c1fc56a5f
commit 1a96932bca
5 changed files with 56 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
package com.bartlomiejpluta.demo.gui;
import A.fonts;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Color;
import com.bartlomiejpluta.base.api.gui.Component;
@@ -11,6 +12,7 @@ import com.bartlomiejpluta.base.api.input.KeyEvent;
import com.bartlomiejpluta.base.api.screen.Screen;
import com.bartlomiejpluta.base.lib.gui.IconView;
import com.bartlomiejpluta.demo.world.item.Item;
import com.bartlomiejpluta.demo.world.item.ItemStack;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
@@ -18,11 +20,10 @@ import lombok.Setter;
import java.util.Map;
import java.util.function.Consumer;
import java.util.Map;
public class ItemIconView extends IconView {
private final Color normal;
private final Color hover;
private final Color textColor;
@Getter
private Item item;
@@ -34,9 +35,12 @@ public class ItemIconView extends IconView {
super(context, gui, refs);
this.normal = gui.createColor();
this.hover = gui.createColor();
this.textColor = gui.createColor();
normal.setRGBA(0x444444FF);
hover.setRGBA(0x888888FF);
textColor.setRGBA(0xFFFFFFFF);
super.setScale(2f);
addEventListener(KeyEvent.TYPE, this::handleKeyEvent);
@@ -93,5 +97,15 @@ public class ItemIconView extends IconView {
gui.closePath();
super.draw(screen, gui);
if (item != null && item instanceof ItemStack stack) {
gui.beginPath();
gui.setFontFace(fonts.roboto_regular.uid);
gui.setFontSize(17);
gui.putText(x + 15, y + 5, String.valueOf(stack.count()));
gui.setFillColor(textColor);
gui.fill();
gui.closePath();
}
}
}