use of com.badlogic.gdx.scenes.scene2d.utils.ChangeListener in project talos by rockbite.
the class PolylineModuleWrapper method configureSlots.
@Override
protected void configureSlots() {
defaultRegion = new TextureRegion(new Texture(Gdx.files.internal("fire.png")));
addInputSlot("offset", PolylineModule.OFFSET);
addInputSlot("thickness", PolylineModule.THICKNESS);
addInputSlot("color", PolylineModule.COLOR);
addInputSlot("transparency", PolylineModule.TRANSPARENCY);
addInputSlot("left tangent", PolylineModule.LEFT_TANGENT);
addInputSlot("right tangent", PolylineModule.RIGHT_TANGENT);
interpolationPoints = new IntegerInputWidget("interpolation points", getSkin());
interpolationPoints.setValue(0);
leftWrapper.add(interpolationPoints).left().expandX();
interpolationPoints.setListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
module.setInterpolationPoints(interpolationPoints.getValue());
}
});
dropWidget = new TextureDropWidget<AbstractModule>(defaultRegion, getSkin());
rightWrapper.add(dropWidget).size(50).right().row();
rightWrapper.add().growY().row();
addOutputSlot("output", PolylineModule.OUTPUT);
}
use of com.badlogic.gdx.scenes.scene2d.utils.ChangeListener in project talos by rockbite.
the class RandomRangeModuleWrapper method configureSlots.
@Override
protected void configureSlots() {
addInputSlot("min", RandomRangeModule.MIN_INPUT);
addInputSlot("max", RandomRangeModule.MAX_INPUT);
addOutputSlot("result", 0);
distribution = new VisCheckBox("distributed");
rightWrapper.add(distribution).right().expandX().padRight(3).row();
inputRange = new FloatRangeInputWidget("Min", "Max", getSkin());
inputRange.setValue(1, 1);
contentWrapper.add(inputRange).left().padTop(40).padLeft(4).expandX();
leftWrapper.add(new Table()).expandY();
rightWrapper.add(new Table()).expandY();
inputRange.setListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
updateValues();
}
});
distribution.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
module.setDistributed(distribution.isChecked());
}
});
}
use of com.badlogic.gdx.scenes.scene2d.utils.ChangeListener in project talos by rockbite.
the class RibbonModuleWrapper method configureSlots.
@Override
protected void configureSlots() {
addInputSlot("main texture", RibbonModule.MAIN_REGION);
addInputSlot("ribbon texture", RibbonModule.RIBBON_REGION);
addInputSlot("thickness", RibbonModule.THICKNESS);
addInputSlot("transparency", RibbonModule.TRANSPARENCY);
addInputSlot("color", RibbonModule.COLOR);
addOutputSlot("output", RibbonModule.OUTPUT);
detailCount = new IntegerInputWidget("detail count:", getSkin());
detailCount.setValue(20);
leftWrapper.add(detailCount).left().expandX().row();
detailCount.setListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
module.setDetailCount(detailCount.getValue());
}
});
memoryDuration = new FloatInputWidget("memory:", getSkin());
memoryDuration.setValue(1);
leftWrapper.add(memoryDuration).left().expandX().padLeft(3);
memoryDuration.setListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
module.setMemoryDuration(memoryDuration.getValue());
}
});
}
use of com.badlogic.gdx.scenes.scene2d.utils.ChangeListener in project TGMT by raeleus.
the class Core method openRoom.
public void openRoom(int index) {
root.clear();
var room = rooms.get(index);
var table = new Table();
table.pad(20);
table.align(Align.top);
var top = new ScrollPane(table, skin, "panel");
top.setFadeScrollBars(false);
top.setScrollingDisabled(true, false);
top.addListener(new ScrollFocusListener(stage));
for (var element : room.elements) {
boolean show = true;
for (var requiredKey : element.requiredKeys) {
if (!playerKeys.contains(requiredKey, false)) {
show = false;
break;
}
}
for (var bannedKey : element.bannedKeys) {
if (playerKeys.contains(bannedKey, false)) {
show = false;
break;
}
}
if (show) {
if (element instanceof TextElement) {
var textElement = (TextElement) element;
var label = new TextraLabel(textElement.text, skin);
label.setWrap(true);
table.add(label).growX();
}
if (element instanceof ImageElement) {
var imageElement = (ImageElement) element;
var image = new Image(assetManager.get(imageElement.image, Texture.class));
image.setScaling(Scaling.fit);
image.setAlign(Align.left);
var container = new AspectRatioContainer<>(image, image.getDrawable().getMinWidth(), image.getDrawable().getMinHeight());
table.add(container).growX();
} else if (element instanceof MusicElement) {
var musicElement = (MusicElement) element;
Music music = assetManager.get(musicElement.music);
music.setLooping(true);
music.play();
if (Core.music != null && Core.music != music) {
Core.music.stop();
}
Core.music = music;
} else if (element instanceof SoundElement) {
var soundElement = (SoundElement) element;
Sound sound = assetManager.get(soundElement.sound);
sound.play();
}
table.row();
}
}
var horizontalGroup = new HorizontalGroup();
horizontalGroup.pad(20);
horizontalGroup.wrap();
horizontalGroup.rowAlign(Align.center);
horizontalGroup.align(Align.center);
var bottom = new ScrollPane(horizontalGroup, skin, "panel");
bottom.setFadeScrollBars(false);
bottom.addListener(new ScrollFocusListener(stage));
for (var action : room.actions) {
boolean hasKeys = true;
for (var requiredKey : action.requiredKeys) {
if (!playerKeys.contains(requiredKey, false)) {
hasKeys = false;
break;
}
}
if (hasKeys)
for (var bannedKey : action.bannedKeys) {
if (playerKeys.contains(bannedKey, false)) {
hasKeys = false;
break;
}
}
if (hasKeys) {
var textButton = new TextButton(action.name, skin);
textButton.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
if (action.sound != null) {
Sound sound = assetManager.get(action.sound);
sound.play();
}
playerKeys.removeAll(action.removeKeys, false);
if (action.removeAllKeys)
playerKeys.clear();
playerKeys.addAll(action.giveKeys);
openRoom(action.targetRoom);
}
});
horizontalGroup.addActor(textButton);
}
}
var splitPane = new SplitPane(top, bottom, true, skin);
splitPane.setSplitAmount(.75f);
root.add(splitPane).grow();
}
use of com.badlogic.gdx.scenes.scene2d.utils.ChangeListener in project talos by rockbite.
the class SettingsDialog method initContent.
private void initContent() {
add(new Label("Export Settings", getSkin())).left().expandX().pad(10);
row();
selectBox = new SelectBox<>(getSkin());
String[] labels = new String[] { "Default", "Custom Script" };
selectBox.setItems(labels);
add(selectBox).width(400).pad(10);
row();
exportInlineContainer = new Table();
add(exportInlineContainer);
row();
TextButton saveButton = new TextButton("Save", getSkin());
add(saveButton).right().padRight(5).padTop(10);
row();
saveButton.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
super.clicked(event, x, y);
save();
}
});
selectBox.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
String selected = selectBox.getSelected();
if (selected.equals("Default")) {
exportInlineContainer.clear();
} else {
exportInlineContainer.clear();
addScriptPathSetting(exportInlineContainer);
pack();
invalidate();
}
}
});
}
Aggregations