private void createPlanetGui(final Planet planet) { WorldAlignementContainer cont = new WorldAlignementContainer(gui, renderer.getCamera(), planet.getPosition()); cont.setBackgroundColor(new Color(0, 0, 0, 0.5f)); Label label_strength = new Label(gui, "Strength"); Slider slider_strength = new Slider(gui, 0.1f, 1, 0.5f); Label label_health = new Label(gui, "Health"); Slider slider_health = new Slider(gui, 0.1f, 1, 0.5f); Label label_speed = new Label(gui, "Speed"); Slider slider_speed = new Slider(gui, Constants.BOID_MIN_SPEED, 1, 0.5f); Label label_resources = new Label(gui, "Resources"); Slider slider_resources = new Slider(gui, 10, Constants.PLANET_MAX_CREATURES, 20); CheckBox start_planet = new CheckBox(gui, "Start Planet"); slider_strength.setSize(100, 8); slider_health.setSize(100, 8); slider_speed.setSize(100, 8); slider_resources.setSize(100, 8); Color bg = new Color(0.3f, 0.3f, 0.3f, 1); slider_strength.setBackgroundColor(bg); slider_health.setBackgroundColor(bg); slider_speed.setBackgroundColor(bg); slider_resources.setBackgroundColor(bg); slider_strength.setValue(planet.getStrength()); slider_health.setValue(planet.getHealth()); slider_speed.setValue(planet.getSpeed()); slider_resources.setValue(planet.getMaxResources()); start_planet.setChecked(planet.isStartPlanet()); start_planet.setSize(150, 24); cont.addWidget(label_strength); cont.addWidget(new Spacer(gui, 0, 3)); cont.addWidget(slider_strength); cont.addWidget(new Spacer(gui, 0, 3)); cont.addWidget(label_health); cont.addWidget(new Spacer(gui, 0, 3)); cont.addWidget(slider_health); cont.addWidget(new Spacer(gui, 0, 3)); cont.addWidget(label_speed); cont.addWidget(new Spacer(gui, 0, 3)); cont.addWidget(slider_speed); cont.addWidget(new Spacer(gui, 0, 3)); cont.addWidget(label_resources); cont.addWidget(new Spacer(gui, 0, 3)); cont.addWidget(slider_resources); cont.addWidget(new Spacer(gui, 0, 3)); cont.addWidget(start_planet); cont.addWidget(new Spacer(gui, slider_resources.getWidth() + 20, 10)); gui.add(cont); conts.add(cont); slider_strength.setValueChangedListener( new ValueChangedListener() { public void valueChanged(Widget widget) { for (Planet planet : selected_planets) planet.setStrength(((Slider) widget).getValue()); for (WorldAlignementContainer cont : conts) { VerticalBoxContainer v_box = (VerticalBoxContainer) cont.getWidgets().get(0); ((Slider) v_box.getWidgets().get(2)).setValue(((Slider) widget).getValue()); } } }); slider_health.setValueChangedListener( new ValueChangedListener() { public void valueChanged(Widget widget) { for (Planet planet : selected_planets) planet.setHealth(((Slider) widget).getValue()); for (WorldAlignementContainer cont : conts) { VerticalBoxContainer v_box = (VerticalBoxContainer) cont.getWidgets().get(0); ((Slider) v_box.getWidgets().get(6)).setValue(((Slider) widget).getValue()); } } }); slider_speed.setValueChangedListener( new ValueChangedListener() { public void valueChanged(Widget widget) { for (Planet planet : selected_planets) planet.setSpeed(((Slider) widget).getValue()); for (WorldAlignementContainer cont : conts) { VerticalBoxContainer v_box = (VerticalBoxContainer) cont.getWidgets().get(0); ((Slider) v_box.getWidgets().get(10)).setValue(((Slider) widget).getValue()); } } }); slider_resources.setValueChangedListener( new ValueChangedListener() { public void valueChanged(Widget widget) { for (Planet planet : selected_planets) planet.setResources((int) ((Slider) widget).getValue()); for (WorldAlignementContainer cont : conts) { VerticalBoxContainer v_box = (VerticalBoxContainer) cont.getWidgets().get(0); ((Slider) v_box.getWidgets().get(14)).setValue(((Slider) widget).getValue()); } } }); start_planet.setClickedListener( new ClickedListener() { public void clicked(Widget widget) { for (Planet planet : selected_planets) planet.setStartPlanet(((CheckBox) widget).isChecked()); for (WorldAlignementContainer cont : conts) { VerticalBoxContainer v_box = (VerticalBoxContainer) cont.getWidgets().get(0); ((CheckBox) v_box.getWidgets().get(16)).setChecked(((CheckBox) widget).isChecked()); } } }); }