use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.
the class Widget method setSize.
public final void setSize(final IPoint vector) {
if (!vector.equals(this.size)) {
this.size = new Point(vector);
this.callEvent(new EventWidget.ChangeSize(this));
}
}
use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.
the class Widget method setPosition.
/* GEOMETRY */
@Override
public final void setPosition(IPoint position) {
if (!position.equals(this.position)) {
this.position = new Point(position);
this.callEvent(new EventWidget.ChangePosition(this));
}
}
use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.
the class ControlTileSelect method refresh.
public void refresh(final String filterText) {
this.deleteAllChildren();
int cx = 2;
int cy = 2;
final Map<IDesignCategory, List<IDesign>> designs = new HashMap<>();
for (final IDesignCategory category : DesignAPI.manager.getAllDesignCategories()) {
designs.put(category, new ArrayList<>());
for (final IDesign tile : category.getDesigns()) {
if (Objects.equals(filterText, "") || tile.getName().toLowerCase().contains(filterText)) {
designs.get(category).add(tile);
}
}
if (designs.get(category).isEmpty()) {
designs.remove(category);
}
}
for (final IDesignCategory category : designs.keySet()) {
cx = 2;
new ControlText(this, new Point(cx, cy + 3), category.getName());
cy += 16;
for (final IDesign tile : designs.get(category)) {
if (cx > 90) {
cx = 2;
cy += 20;
}
new ControlTile(this, cx, cy, tile);
cx += 20;
}
cy += 20;
}
final int height = cy;
this.setSize(new Point(this.getSize().xPos(), height));
}
use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.
the class AnalystPageBeeProducts method createProductEntry.
private void createProductEntry(ItemStack key, Float value, int y, float speed) {
ControlItemDisplay item = new BeeProductItem(this, y, key);
item.setTooltip();
ControlText textWidget = new ControlTextCentered(this, y + 4, "");
textWidget.setColor(getColor());
CraftGUIUtil.moveWidget(textWidget, new Point(12, 0));
item.setItemStack(key);
int time = (int) (ModuleApiculture.ticksPerBeeWorkCycle * 100.0 / (speed * value));
textWidget.setValue(I18N.localise(AnalystConstants.PRODUCTS_KEY + ".every") + ' ' + TimeUtil.getTimeString(time));
}
use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.
the class WindowGeneBank method initialiseClient.
@Override
@SideOnly(Side.CLIENT)
public void initialiseClient() {
super.initialiseClient();
this.addEventHandler(EventValueChanged.class, event -> {
if (event.getValue() instanceof BreedingSystem) {
WindowGeneBank.this.genes.setValue((IBreedingSystem) event.getValue());
}
});
int x = 16;
final int y = 32;
new ControlPlayerInventory(this, x, y);
x += 124;
int boxX = x;
final int geneBoxWidth = 120;
new Panel(this, boxX + 24, 32, geneBoxWidth, 120, MinecraftGUI.PanelType.BLACK);
new Panel(this, boxX + 24 + geneBoxWidth, 32, 14, 120, MinecraftGUI.PanelType.GRAY);
final ControlScrollableContent<ControlGeneScroll> scroll = new ControlScrollableContent<>(this, boxX + 24 + 2, 34, geneBoxWidth + 10, 116, 12);
final ControlTextEdit edit = new ControlTextEdit(this, boxX + 27 + geneBoxWidth - 70, 18, 80, 12);
this.addEventHandler(EventTextEdit.class, EventHandlerOrigin.SELF, edit, event -> {
String value = event.getValue();
if (value == null) {
value = "";
}
WindowGeneBank.this.genes.setFilter(value);
});
this.genes = new ControlGeneScroll(scroll, 1, 1, geneBoxWidth, 116);
scroll.setScrollableContent(this.genes);
this.genes.setGenes(Binnie.GENETICS.getFirstActiveSystem());
final ControlTabBar<IBreedingSystem> tabBar = new GeneBankTabBar(this, boxX);
tabBar.setValue(Binnie.GENETICS.getFirstActiveSystem());
boxX -= 8;
final ControlTabBar<String> infoTabs = new ControlTabBar<>(this, boxX + 8, 160, 16, 50, Alignment.LEFT, Arrays.asList("Info", "Stats", "Ranking"));
final Panel panelProject = new Panel(this, boxX + 24, 160, geneBoxWidth + 20, 50, MinecraftGUI.PanelType.BLACK);
int totalGenes = 0;
int seqGenes = 0;
for (final IBreedingSystem system : Binnie.GENETICS.getActiveSystems()) {
final GeneTracker tracker = GeneTracker.getTracker(this.getWorld(), this.getUsername());
final Map<IChromosomeType, List<IAllele>> genes = Binnie.GENETICS.getChromosomeMap(system.getSpeciesRoot());
for (final Map.Entry<IChromosomeType, List<IAllele>> entry : genes.entrySet()) {
totalGenes += entry.getValue().size();
for (final IAllele allele : entry.getValue()) {
final Gene gene = new Gene(allele, entry.getKey(), system.getSpeciesRoot());
if (tracker.isSequenced(gene)) {
++seqGenes;
}
}
}
}
new ControlText(panelProject, new Point(4, 4), "§nFull Genome Project");
new ControlText(panelProject, new Point(4, 18), "§oSequenced §r" + seqGenes + '/' + totalGenes + " §oGenes");
}
Aggregations