use of com.ldtteam.blockout.views.View in project minecolonies by Minecolonies.
the class CitizenWindowUtils method createSaturationBar.
/**
* Creates an health bar according to the citizen maxHealth and currentHealth.
*
* @param citizen the citizen.
* @param view the view to add these to.
*/
public static void createSaturationBar(final ICitizenDataView citizen, final View view) {
view.findPaneOfTypeByID(WINDOW_ID_SATURATION_BAR, View.class).setAlignment(Alignment.MIDDLE_RIGHT);
// Max saturation (Black food items).
for (int i = 0; i < ICitizenData.MAX_SATURATION; i++) {
@NotNull final Image saturation = new Image();
saturation.setImage(Screen.GUI_ICONS_LOCATION, EMPTY_SATURATION_ITEM_ROW_POS, SATURATION_ICON_COLUMN, SATURATION_ICON_HEIGHT_WIDTH, SATURATION_ICON_HEIGHT_WIDTH, false);
saturation.setPosition(getXOffsetModifier(i) * SATURATION_ICON_POS_X + SATURATION_ICON_OFFSET_X, SATURATION_ICON_POS_Y + getYOffset(i));
view.findPaneOfTypeByID(WINDOW_ID_SATURATION_BAR, View.class).addChild(saturation);
}
// Current saturation (Full food hearts).
int saturationPos;
for (saturationPos = 0; saturationPos < ((int) citizen.getSaturation()); saturationPos++) {
@NotNull final Image saturation = new Image();
saturation.setImage(Screen.GUI_ICONS_LOCATION, FULL_SATURATION_ITEM_ROW_POS, SATURATION_ICON_COLUMN, SATURATION_ICON_HEIGHT_WIDTH, SATURATION_ICON_HEIGHT_WIDTH, false);
saturation.setPosition(getXOffsetModifier(saturationPos) * SATURATION_ICON_POS_X + SATURATION_ICON_OFFSET_X, SATURATION_ICON_POS_Y + getYOffset(saturationPos));
view.findPaneOfTypeByID(WINDOW_ID_SATURATION_BAR, View.class).addChild(saturation);
}
// Half food items.
if (citizen.getSaturation() / 2 % 1 > 0) {
@NotNull final Image saturation = new Image();
saturation.setImage(Screen.GUI_ICONS_LOCATION, HALF_SATURATION_ITEM_ROW_POS, SATURATION_ICON_COLUMN, SATURATION_ICON_HEIGHT_WIDTH, SATURATION_ICON_HEIGHT_WIDTH, false);
saturation.setPosition(getXOffsetModifier(saturationPos) * SATURATION_ICON_POS_X + SATURATION_ICON_OFFSET_X, SATURATION_ICON_POS_Y + getYOffset(saturationPos));
view.findPaneOfTypeByID(WINDOW_ID_SATURATION_BAR, View.class).addChild(saturation);
}
}
use of com.ldtteam.blockout.views.View in project minecolonies by Minecolonies.
the class CitizenWindowUtils method createHappinessBar.
/**
* Creates an Happiness bar according to the citizen maxHappiness and currentHappiness.
*
* @param citizen pointer to the citizen data view
* @param window pointer to the current window
*/
public static void createHappinessBar(final ICitizenDataView citizen, final AbstractWindowSkeleton window) {
// Calculates how much percent of the next level has been completed.
final double experienceRatio = (citizen.getHappiness() / HappinessConstants.MAX_HAPPINESS) * XP_BAR_WIDTH;
window.findPaneOfTypeByID(WINDOW_ID_HAPPINESS_BAR, View.class).setAlignment(Alignment.MIDDLE_RIGHT);
window.findPaneOfTypeByID(WINDOW_ID_HAPPINESS, Text.class).setText(Integer.toString((int) citizen.getHappiness()));
@NotNull final Image xpBar = new Image();
xpBar.setImage(Screen.GUI_ICONS_LOCATION, XP_BAR_ICON_COLUMN, HAPPINESS_BAR_EMPTY_ROW, XP_BAR_WIDTH, XP_HEIGHT, false);
xpBar.setPosition(LEFT_BORDER_X, LEFT_BORDER_Y);
@NotNull final Image xpBar2 = new Image();
xpBar2.setImage(Screen.GUI_ICONS_LOCATION, XP_BAR_ICON_COLUMN_END, HAPPINESS_BAR_EMPTY_ROW, XP_BAR_ICON_COLUMN_END_WIDTH, XP_HEIGHT, false);
xpBar2.setPosition(XP_BAR_ICON_END_OFFSET + LEFT_BORDER_X, LEFT_BORDER_Y);
window.findPaneOfTypeByID(WINDOW_ID_HAPPINESS_BAR, View.class).addChild(xpBar);
window.findPaneOfTypeByID(WINDOW_ID_HAPPINESS_BAR, View.class).addChild(xpBar2);
if (experienceRatio > 0) {
@NotNull final Image xpBarFull = new Image();
xpBarFull.setImage(Screen.GUI_ICONS_LOCATION, XP_BAR_ICON_COLUMN, HAPPINESS_BAR_FULL_ROW, (int) experienceRatio, XP_HEIGHT, false);
xpBarFull.setPosition(LEFT_BORDER_X, LEFT_BORDER_Y);
window.findPaneOfTypeByID(WINDOW_ID_HAPPINESS_BAR, View.class).addChild(xpBarFull);
}
}
use of com.ldtteam.blockout.views.View in project minecolonies by Minecolonies.
the class RequestBasedInteraction method onWindowOpened.
@Override
@OnlyIn(Dist.CLIENT)
public void onWindowOpened(final Window window, final ICitizenDataView dataView) {
final IColony colony = IColonyManager.getInstance().getColonyView(dataView.getColonyId(), Minecraft.getInstance().player.level.dimension());
if (colony != null) {
final IRequest<?> request = colony.getRequestManager().getRequestForToken(token);
if (request != null) {
final View group = window.findPaneOfTypeByID("interactionView", View.class);
ItemIcon icon = window.findPaneOfTypeByID("request_item", ItemIcon.class);
if (icon == null) {
icon = new ItemIcon();
group.addChild(icon);
}
icon.setID("request_item");
icon.setSize(32, 32);
if (!request.getDisplayStacks().isEmpty()) {
icon.setItem((request.getDisplayStacks().get(0)));
}
icon.setPosition(30, 60);
icon.setVisible(true);
}
}
}
use of com.ldtteam.blockout.views.View in project Structurize by ldtteam.
the class WindowShapeTool method disableInputIfNecessary.
private void disableInputIfNecessary() {
final Shape shape = Settings.instance.getShape();
final View height = findPaneOfTypeByID(HEIGHT_VIEW, View.class);
final View width = findPaneOfTypeByID(WIDTH_VIEW, View.class);
final View length = findPaneOfTypeByID(LENGTH_VIEW, View.class);
final View frequency = findPaneOfTypeByID(FREQUENCY_VIEW, View.class);
final View equation = findPaneOfTypeByID(SHAPE_VIEW, View.class);
height.show();
width.show();
length.show();
frequency.show();
equation.hide();
findPaneByID(BUTTON_HOLLOW).show();
findPaneByID(BUTTON_PICK_FILL_BLOCK).show();
findPaneByID(RESOURCE_ICON_FILL).show();
if (shape == Shape.RANDOM) {
equation.show();
frequency.hide();
findPaneByID(BUTTON_HOLLOW).hide();
findPaneByID(BUTTON_PICK_FILL_BLOCK).hide();
findPaneByID(RESOURCE_ICON_FILL).hide();
} else if (shape == Shape.SPHERE || shape == Shape.HALF_SPHERE || shape == Shape.BOWL || shape == Shape.PYRAMID || shape == Shape.UPSIDE_DOWN_PYRAMID || shape == Shape.DIAMOND) {
width.hide();
length.hide();
frequency.hide();
} else if (shape == Shape.CYLINDER || shape == Shape.CONE) {
length.hide();
frequency.hide();
} else if (shape != Shape.WAVE && shape != Shape.WAVE_3D) {
frequency.hide();
}
}
use of com.ldtteam.blockout.views.View in project minecolonies by ldtteam.
the class CitizenWindowUtils method createSaturationBar.
/**
* Creates an health bar according to the citizen maxHealth and currentHealth.
*
* @param citizen the citizen.
* @param view the view to add these to.
*/
public static void createSaturationBar(final ICitizenDataView citizen, final View view) {
view.findPaneOfTypeByID(WINDOW_ID_SATURATION_BAR, View.class).setAlignment(Alignment.MIDDLE_RIGHT);
// Max saturation (Black food items).
for (int i = 0; i < ICitizenData.MAX_SATURATION; i++) {
@NotNull final Image saturation = new Image();
saturation.setImage(Screen.GUI_ICONS_LOCATION, EMPTY_SATURATION_ITEM_ROW_POS, SATURATION_ICON_COLUMN, SATURATION_ICON_HEIGHT_WIDTH, SATURATION_ICON_HEIGHT_WIDTH, false);
saturation.setPosition(getXOffsetModifier(i) * SATURATION_ICON_POS_X + SATURATION_ICON_OFFSET_X, SATURATION_ICON_POS_Y + getYOffset(i));
view.findPaneOfTypeByID(WINDOW_ID_SATURATION_BAR, View.class).addChild(saturation);
}
// Current saturation (Full food hearts).
int saturationPos;
for (saturationPos = 0; saturationPos < ((int) citizen.getSaturation()); saturationPos++) {
@NotNull final Image saturation = new Image();
saturation.setImage(Screen.GUI_ICONS_LOCATION, FULL_SATURATION_ITEM_ROW_POS, SATURATION_ICON_COLUMN, SATURATION_ICON_HEIGHT_WIDTH, SATURATION_ICON_HEIGHT_WIDTH, false);
saturation.setPosition(getXOffsetModifier(saturationPos) * SATURATION_ICON_POS_X + SATURATION_ICON_OFFSET_X, SATURATION_ICON_POS_Y + getYOffset(saturationPos));
view.findPaneOfTypeByID(WINDOW_ID_SATURATION_BAR, View.class).addChild(saturation);
}
// Half food items.
if (citizen.getSaturation() / 2 % 1 > 0) {
@NotNull final Image saturation = new Image();
saturation.setImage(Screen.GUI_ICONS_LOCATION, HALF_SATURATION_ITEM_ROW_POS, SATURATION_ICON_COLUMN, SATURATION_ICON_HEIGHT_WIDTH, SATURATION_ICON_HEIGHT_WIDTH, false);
saturation.setPosition(getXOffsetModifier(saturationPos) * SATURATION_ICON_POS_X + SATURATION_ICON_OFFSET_X, SATURATION_ICON_POS_Y + getYOffset(saturationPos));
view.findPaneOfTypeByID(WINDOW_ID_SATURATION_BAR, View.class).addChild(saturation);
}
}
Aggregations