use of ivorius.reccomplex.gui.table.cell.TableCellEnum in project RecurrentComplex by Ivorforce.
the class TableDataSourceMazePath method cellForIndexInSegment.
@Override
public TableCell cellForIndexInSegment(GuiTable table, int index, int segment) {
if (segment == 1) {
TableCellEnum.Option<EnumFacing>[] optionList = TableDirections.getDirectionOptions(EnumFacing.VALUES);
TableCellEnum<EnumFacing> cell = new TableCellEnum<>("side", directionFromPath(mazePath), optionList);
cell.addPropertyConsumer(val -> {
SavedMazePathConnection path = pathFromDirection(val, mazePath.sourceRoom.getCoordinates());
mazePath.pathDimension = path.path.pathDimension;
mazePath.pathGoesUp = path.path.pathGoesUp;
tableDelegate.reloadData();
});
return new TitledCell(IvTranslations.get("reccomplex.generationInfo.mazeComponent.path.side"), cell);
} else if (segment == 2) {
invertableButton = new TableCellButton("actions", "inverse", IvTranslations.get("reccomplex.generationInfo.mazeComponent.path.invert"), isInvertable());
invertableButton.addAction(() -> {
mazePath.set(mazePath.inverse());
source.room = mazePath.sourceRoom;
tableDelegate.reloadData();
});
return new TitledCell(invertableButton);
}
return super.cellForIndexInSegment(table, index, segment);
}
use of ivorius.reccomplex.gui.table.cell.TableCellEnum in project RecurrentComplex by Ivorforce.
the class TableDataSourceVanillaStructureGeneration method cellForIndexInSegment.
@Override
public TableCell cellForIndexInSegment(GuiTable table, int index, int segment) {
switch(segment) {
case 1:
{
TableCellEnum<String> cell = new TableCellEnum<>("type", "village", new TableCellEnum.Option<String>("village", IvTranslations.get("reccomplex.generationInfo.vanilla.type.village")));
return new TitledCell(IvTranslations.get("reccomplex.generationInfo.vanilla.type"), cell);
}
case 2:
{
switch(index) {
case 0:
return RCGuiTables.defaultWeightElement(val -> generationInfo.generationWeight = TableCells.toDouble(val), generationInfo.generationWeight);
case 1:
{
TableCellEnum<EnumFacing> cell = new TableCellEnum<>("front", generationInfo.front, TableDirections.getDirectionOptions(Directions.HORIZONTAL));
cell.addPropertyConsumer(val -> generationInfo.front = val);
return new TitledCell(IvTranslations.get("reccomplex.generationInfo.vanilla.front"), cell);
}
}
}
case 3:
switch(index) {
case 0:
{
TableCellFloatRange cell = new TableCellFloatRange("baseLimit", new FloatRange((float) generationInfo.minBaseLimit, (float) generationInfo.maxBaseLimit), 0, 1000, "%.2f");
cell.setScale(Scales.pow(5));
cell.addPropertyConsumer(val -> {
generationInfo.minBaseLimit = val.getMin();
generationInfo.maxBaseLimit = val.getMax();
});
return new TitledCell(IvTranslations.get("reccomplex.generationInfo.vanilla.amount.pervillage"), cell).withTitleTooltip(IvTranslations.getLines("reccomplex.generationInfo.vanilla.amount.pervillage.tooltip"));
}
case 1:
{
TableCellFloatRange cell = new TableCellFloatRange("scaledLimit", new FloatRange((float) generationInfo.minScaledLimit, (float) generationInfo.maxScaledLimit), 0, 1000, "%.2f");
cell.setScale(Scales.pow(5));
cell.addPropertyConsumer(val -> {
generationInfo.minScaledLimit = val.getMin();
generationInfo.maxScaledLimit = val.getMax();
});
return new TitledCell(IvTranslations.get("reccomplex.generationInfo.vanilla.amount.scaled"), cell).withTitleTooltip(IvTranslations.getLines("reccomplex.generationInfo.vanilla.amount.scaled.tooltip"));
}
}
break;
}
return super.cellForIndexInSegment(table, index, segment);
}
Aggregations