use of eidolons.libgdx.gui.generic.ValueContainer in project Eidolons by IDemiurge.
the class ActionCostSourceImpl method getActionCostList.
public static List<ValueContainer> getActionCostList(DC_ActiveObj el) {
List<ValueContainer> costsList = new ArrayList<>();
for (int i = 0, costsLength = RESOURCE_COSTS.length; i < costsLength; i++) {
PARAMETER cost = RESOURCE_COSTS[i];
final double param = el.getParamDouble(cost);
String text = String.format(Locale.US, "%.1f", param);
if (cost == PARAMS.AP_COST) {
if (DC_Engine.isAtbMode()) {
text = MathMaster.round((float) (param * AtbController.ATB_MOD)) + "%";
}
}
if (param > 0) {
final String iconPath = ImageManager.getValueIconPath(COSTS_ICON_PARAMS[i]);
costsList.add(new ValueContainer(getOrCreateR(iconPath), text));
}
}
final double reqRes = el.getParamDouble(MIN_REQ_RES_FOR_USE.getLeft());
if (reqRes > 0) {
final String iconPath = ImageManager.getValueIconPath(MIN_REQ_RES_FOR_USE.getRight());
costsList.add(new ValueContainer(getOrCreateR(iconPath), String.format(Locale.US, "> %.1f", reqRes)));
}
return costsList;
}
use of eidolons.libgdx.gui.generic.ValueContainer in project Eidolons by IDemiurge.
the class EditorPalette method init.
public void init() {
clearChildren();
clearListeners();
addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
// updateRequired=true;
return super.touchDown(event, x, y, pointer, button);
}
});
setSize(GdxMaster.getWidth() / 3 * 2, 256);
int columns = (int) (getWidth() / 64);
for (EDITOR_PALETTE sub : EDITOR_PALETTE.values()) {
OBJ_TYPE TYPE = ContentManager.getOBJ_TYPE(sub.name());
if (TYPE == null) {
addCustomTab(sub);
continue;
}
TabbedPanel tabbedPanel = new TabbedPanel();
TablePanel<Actor> table;
if (TYPE == null)
continue;
List<String> list = DataManager.getTabsGroup(TYPE);
if (list.isEmpty())
list.add("");
for (String group : list) {
table = new TablePanel<>();
table.defaults().width(64).height(64);
table.top().left().padLeft(64).padTop(64);
table.setFillParent(true);
ArrayList<ObjType> types = new ArrayList<>(DataManager.getTypesGroup(TYPE, group));
int i = 0;
int rows = 0;
for (ObjType type : types) {
TextureRegion texture = TextureCache.getOrCreateR(type.getImagePath());
ValueContainer item = new ValueContainer(texture);
item.setBackground(new NinePatchDrawable(NinePatchFactory.getTooltip()));
item.overrideImageSize(64, 64);
item.addListener(new ValueTooltip(type.getName()).getController());
item.addListener(getItemListener(item));
table.add(item).left();
item.setUserObject(type);
i++;
if (i >= columns) {
i = 0;
table.row();
rows++;
}
}
table.pack();
if (rows > 3) {
ScrollPanel scrollPanel = new ScrollPanel();
scrollPanel.addElement(table);
tabbedPanel.addTab(scrollPanel, group);
} else {
tabbedPanel.addTab(table, group);
}
}
addTab(tabbedPanel, sub.name());
}
// scrollable?
}
use of eidolons.libgdx.gui.generic.ValueContainer in project Eidolons by IDemiurge.
the class InventoryQuickSlotPanel method afterUpdateAct.
@Override
public void afterUpdateAct(float delta) {
if (getUserObject() == null)
return;
clear();
super.afterUpdateAct(delta);
final List<InventoryValueContainer> quickSlots = ((QuickSlotDataSource) getUserObject()).getQuickSlots();
int maxLength = Math.min(8, quickSlots.size());
for (int i = 0; i < maxLength; i++) {
ValueContainer valueContainer = quickSlots.get(i);
if (valueContainer == null) {
valueContainer = new ValueContainer(TextureCache.getOrCreateR("UI/empty_pack.jpg"));
}
addElement(valueContainer).fill(0, 1).expand(0, 1).center();
}
}
use of eidolons.libgdx.gui.generic.ValueContainer in project Eidolons by IDemiurge.
the class InventorySlotsPanel method afterUpdateAct.
@Override
public void afterUpdateAct(float delta) {
if (getUserObject() == null)
return;
clear();
super.afterUpdateAct(delta);
final List<InventoryValueContainer> inventorySlots = ((InventoryTableDataSource) getUserObject()).getInventorySlots();
for (int i = 0; i < SIZE; i++) {
ValueContainer valueContainer = inventorySlots.get(i);
if (valueContainer == null) {
valueContainer = new ValueContainer(getOrCreateR("UI/empty_pack.jpg"));
}
add(valueContainer).expand(0, 0);
if ((i + 1) % COLUMNS == 0) {
row();
}
}
}
use of eidolons.libgdx.gui.generic.ValueContainer in project Eidolons by IDemiurge.
the class TooltipFactory method addKeyAndValue.
protected void addKeyAndValue(String key, String value, List<ValueContainer> values) {
final ValueContainer valueContainer = new ValueContainer(key, value);
valueContainer.setNameAlignment(Align.left);
valueContainer.setValueAlignment(Align.right);
values.add(valueContainer);
}
Aggregations