public void updateProperties() { if (editActors == null) return; updateProperties = true; Actor model = editActors.get(0); getStage().setKeyboardFocus(null); name.setText(model.getName()); visible.setChecked(model.isVisible()); positionX.setText(String.format(Locale.ENGLISH, "%.2f", model.getX())); positionY.setText(String.format(Locale.ENGLISH, "%.2f", model.getY())); rotation.setText(String.format(Locale.ENGLISH, "%.2f", model.getRotation())); lockRatio.setChecked(Math.abs(model.getScaleX() - model.getScaleY()) < 0.01f); scaleX.setText(String.format(Locale.ENGLISH, "%.2f", model.getScaleX())); scaleY.setText(String.format(Locale.ENGLISH, "%.2f", model.getScaleY())); Color color = model.getColor(); r.setText(String.format(Locale.ENGLISH, "%.0f", color.r * 255)); g.setText(String.format(Locale.ENGLISH, "%.0f", color.g * 255)); b.setText(String.format(Locale.ENGLISH, "%.0f", color.b * 255)); a.setText(String.format(Locale.ENGLISH, "%.0f", color.a * 255)); scaleY.setDisabled(lockRatio.isChecked()); scaleY.setColor(lockRatio.isChecked() ? disableColor : enableColor); updateProperties = false; }
public SettingsScreen(AbstractScreen parentScreen) { super(parentScreen); initFitViewport(); // final AbstractAuthService authService = // mAdapter.getPlatformServices().getAuthService(); mBgStage.loadImage(this, "Bg/menu/settings-bg.jpg"); BackButton.create(this, MainMenuScreen.class); mSettings = new LocalSettings(); final CheckBox cbSounds = new CheckBox("", RM.getCheckBoxStyle()); cbSounds.setBounds(20, 500, SES.BUTTON_HEIGHT, SES.BUTTON_HEIGHT); cbSounds.setChecked(mSettings.getSoundEnabled()); mStage.addActor(cbSounds); cbSounds.addListener( new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { mSettings.setSoundEnabled(cbSounds.isChecked()); mSettings.flush(); } }); Label lblSounds = new Label("Sound effects", RM.getLabelStyle()); lblSounds.setBounds(120, 500, 200, SES.BUTTON_HEIGHT); mStage.addActor(lblSounds); final CheckBox cbMusic = new CheckBox("", RM.getCheckBoxStyle()); cbMusic.setBounds(20, 400, SES.BUTTON_HEIGHT, SES.BUTTON_HEIGHT); cbMusic.setChecked(mSettings.getMusicEnabled()); mStage.addActor(cbMusic); cbMusic.addListener( new ClickListener() { public void clicked(InputEvent event, float x, float y) { mSettings.setMusicEnabled(cbMusic.isChecked()); mSettings.flush(); } }); Label lblMusic = new Label("Music", RM.getLabelStyle()); lblMusic.setBounds(120, 400, 200, SES.BUTTON_HEIGHT); mStage.addActor(lblMusic); TextButton btnGooglePlayLink = new TextButton("GooglePlay", RM.getTextButtonStyle()); btnGooglePlayLink.setBounds(SES.buttonRight(), 20, SES.BUTTON_WIDTH, SES.BUTTON_HEIGHT); mStage.addActor(btnGooglePlayLink); btnGooglePlayLink.addListener( new ClickListener() { public void clicked(InputEvent event, float x, float y) {} }); }
@Override public void onProfileChange(Profile profile) { Setting setting = settingController.getCurrentSetting(); if (setting != null && areWidgetsInitialized()) { musicSlider.setValue(setting.getVolumeMusic() * 100); effectsSlider.setValue(setting.getVolumeEffects() * 100); zoomCheckBox.setChecked(setting.isZoomEnabled()); colorBlindnessCheckBox.setChecked(setting.isColorblindEnabled()); } else if (areWidgetsInitialized()) { musicSlider.setValue(50); effectsSlider.setValue(50); zoomCheckBox.setChecked(false); colorBlindnessCheckBox.setChecked(false); } }
void initialize() { skin.getFont("default").getData().markupEnabled = true; for (int i = 0; i < 6; i++) trackButtons.add(new TextButton(i + "", skin, "toggle")); animationList.getSelection().setRequired(false); premultipliedCheckbox.setChecked(true); loopCheckbox.setChecked(true); scaleSlider.setValue(1); scaleSlider.setSnapToValues(new float[] {1, 1.5f, 2, 2.5f, 3, 3.5f}, 0.01f); mixSlider.setValue(0.3f); mixSlider.setSnapToValues(new float[] {1, 1.5f, 2, 2.5f, 3, 3.5f}, 0.1f); speedSlider.setValue(1); speedSlider.setSnapToValues(new float[] {0.5f, 0.75f, 1, 1.25f, 1.5f, 2, 2.5f}, 0.1f); alphaSlider.setValue(1); alphaSlider.setDisabled(true); window.setMovable(false); window.setResizable(false); window.setKeepWithinStage(false); window.setX(-3); window.setY(-2); window.getTitleLabel().setColor(new Color(0.76f, 1, 1, 1)); window.getTitleTable().add(openButton).space(3); window.getTitleTable().add(minimizeButton).width(20); skinScroll.setFadeScrollBars(false); animationScroll.setFadeScrollBars(false); }
@Override public void show() { skin = Assets.getSkin(); ui = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false); Gdx.input.setInputProcessor(ui); window = new Window("window", skin) { protected void drawBackground(SpriteBatch batch, float parentAlpha) {} }; window.setBounds(0, 0, ui.getWidth(), ui.getHeight()); window.setMovable(false); window.setColor(0, 0, 0, 0.8f); // window.debug(); window.defaults().spaceBottom(10); window.row().fill().expandX(); final CheckBox bloom = new CheckBox("Enable Bloom", skin); bloom.addListener( new InputListener() { @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { super.touchUp(event, x, y, pointer, button); boolean b = bloom.isChecked(); game.setBloom(b); Util.setBloomOption(b); } }); bloom.setChecked(Util.getBloomOption()); window.add(bloom).fill(0f, 0f); final TextButton button = new TextButton("Done", skin); button.addListener( new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { game.startMainMenu(); return true; } }); window.add(button).fill(0f, 0f); ui.addActor(window); }
private Cell addCheckBox(String text, Settings.Key key) { final CheckBox checkBox = new CheckBox(text, Resources.getSkin()); final Settings.Key _key = key; checkBox.setChecked(Settings.getBoolean(_key)); checkBox.addListener( new ChangeListener() { @Override public void changed(ChangeEvent changeEvent, Actor actor) { final boolean value = Settings.getBoolean(_key); Settings.setBoolean(_key, !value); } }); return add(checkBox).left(); }
void loadPrefs() { debugBonesCheckbox.setChecked(prefs.getBoolean("debugBones", true)); debugRegionsCheckbox.setChecked(prefs.getBoolean("debugRegions", false)); debugMeshHullCheckbox.setChecked(prefs.getBoolean("debugMeshHull", false)); debugMeshTrianglesCheckbox.setChecked(prefs.getBoolean("debugMeshTriangles", false)); debugPathsCheckbox.setChecked(prefs.getBoolean("debugPaths", true)); premultipliedCheckbox.setChecked(prefs.getBoolean("premultiplied", true)); loopCheckbox.setChecked(prefs.getBoolean("loop", false)); speedSlider.setValue(prefs.getFloat("speed", 0.3f)); mixSlider.setValue(prefs.getFloat("mix", 0.3f)); scaleSlider.setValue(prefs.getFloat("scale", 1)); skeletonX = prefs.getInteger("x", 0); skeletonY = prefs.getInteger("y", 0); animationList.setSelected(prefs.getString("animationName", null)); skinList.setSelected(prefs.getString("skinName", null)); prefsLoaded = true; }
protected void disableActors(SnapshotArray<Actor> actors, boolean disable) { Color color = disable ? disableColor : enableColor; for (Actor actor : actors) { actor.setColor(color); if (actor instanceof Group) { if (!(actor instanceof CheckBox)) disableActors(((Group) actor).getChildren(), disable); } if (disable) { if (actor instanceof TextField) { ((TextField) actor).setText(""); } else if (actor instanceof CheckBox) { CheckBox checkBox = (CheckBox) actor; checkBox.setChecked(false); } } } }
private void createSoundFXToggleButton(AssetManager assetManager) { Texture soundFXButtonActiveTexture = assetManager.get("soundfxbutton_active.png", Texture.class); Texture soundFXButtonInactiveTexture = assetManager.get("soundfxbutton_inactive.png", Texture.class); // Run // "texture through 2 other thingys to turn it into a "TextureRegiionDrawable, // which is what the "Button" constructor needs. TextureRegion soundFXActiveButtonTR = new TextureRegion(soundFXButtonActiveTexture); TextureRegion soundFXInactiveButtonTR = new TextureRegion(soundFXButtonInactiveTexture); TextureRegionDrawable soundFXButtonActiveTRD = new TextureRegionDrawable(soundFXActiveButtonTR); TextureRegionDrawable soundFXButtonInactiveTRD = new TextureRegionDrawable(soundFXInactiveButtonTR); // Create the start button CheckBoxStyle s = new CheckBoxStyle(); s.font = new BitmapFont(); s.checkboxOn = soundFXButtonActiveTRD; s.checkboxOn.setMinHeight(buttonRowHeight); s.checkboxOn.setMinWidth(buttonRowHeight); s.checkboxOff = soundFXButtonInactiveTRD; s.checkboxOff.setMinHeight(buttonRowHeight); s.checkboxOff.setMinWidth(buttonRowHeight); soundFXButton = new CheckBox("", s); soundFXButton.setChecked(true); // Define how big it is. soundFXButton.setBounds(0f, 0f, buttonRowHeight, buttonRowHeight); // Move it to where it should go on the screen. soundFXButton.setPosition( screenDimensions.x - (buttonColumnWidth + verticalBorderAmount * 4), screenDimensions.y - (horizontalBorderAmount + buttonRowHeight * 4 + lineSpacing * 3)); // Tell it to notify this class (StartScreen) when clicked. soundFXButton.addListener(this); // Add it to the stage so it will "act" and "draw" when the stage does. stage.addActor(soundFXButton); }
public OptionScreen(Anvil anvil) { super(anvil); Skin skin = new Skin(Gdx.files.internal(Systems.Skin)); back = new Texture(Gdx.files.internal(Locale.SYSTEM_UI_PATH + "marble.png")); background = new Image(back); FreeTypeFontGenerator gen = new FreeTypeFontGenerator(Gdx.files.internal(Locale.FONT_BASE + "Canted Comic.ttf")); FreeTypeFontParameter par = new FreeTypeFontParameter(); par.size = 20; par.borderColor = Color.BLACK; par.color = Color.WHITE; par.borderWidth = 2; BitmapFont font = gen.generateFont(par); LabelStyle ls = new LabelStyle(); ls.font = font; CheckBox vsync = new CheckBox("VSync", skin); vsync.setChecked(getBool("Graphics", "useVsync")); vsync.addListener( new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { bVsync = vsync.isChecked(); vsync.setChecked(vsync.isChecked() ? false : true); } }); Separator sep = new Separator(); CheckBox controller = new CheckBox("Use Controller", skin); controller.setChecked(getBool("Controls", "useController")); controller.addListener( new ClickListener() { public void clicked(InputEvent event, float x, float y) {} }); TextButton okay = new TextButton("Apply", skin); okay.addListener( new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { save(); anvil.setScreen(new MenuScreen(anvil)); } }); Table opt = new Table(skin); opt.setFillParent(true); opt.setBackground(background.getDrawable()); opt.add(new Label("Graphics", ls)).row(); opt.add(sep); opt.add(vsync).row(); opt.add().row(); opt.add().row(); opt.add().row(); opt.add(okay).align(Align.bottomLeft); stage.addActor(opt); Gdx.input.setInputProcessor(stage); }
@SuppressWarnings("unchecked") @Override public void create(Table table) { lastEndTileX = -1; lastEndTileY = -1; startTileX = 1; startTileY = 1; // Create the map worldMap = new HierarchicalTiledGraph(); int roomCount = 100; int roomMinSize = 2; int roomMaxSize = 8; int squashIterations = 100; worldMap.init(roomCount, roomMinSize, roomMaxSize, squashIterations); paths = (TiledSmoothableGraphPath<HierarchicalTiledNode>[]) new TiledSmoothableGraphPath[NUM_PATHS]; for (int i = 0; i < NUM_PATHS; i++) { paths[i] = new TiledSmoothableGraphPath<HierarchicalTiledNode>(); } numPaths = 0; heuristic = new TiledManhattanDistance<HierarchicalTiledNode>(); IndexedAStarPathFinder<HierarchicalTiledNode> levelPathFinder = new IndexedAStarPathFinder<HierarchicalTiledNode>(worldMap, true); pathFinder = new HierarchicalPathFinder<HierarchicalTiledNode>(worldMap, levelPathFinder); pathSmoother = new PathSmoother<HierarchicalTiledNode, Vector2>( new TiledRaycastCollisionDetector<HierarchicalTiledNode>(worldMap)); pathSmootherRequest = new PathSmootherRequest<HierarchicalTiledNode, Vector2>(); requestPool = new Pool<MyPathFinderRequest>() { @Override protected MyPathFinderRequest newObject() { return new MyPathFinderRequest(); } }; PathFinderQueue<HierarchicalTiledNode> pathFinderQueue = new PathFinderQueue<HierarchicalTiledNode>(pathFinder); MessageManager.getInstance().addListener(pathFinderQueue, PF_REQUEST); scheduler = new LoadBalancingScheduler(100); scheduler.add(pathFinderQueue, 1, 0); renderer = new ShapeRenderer(); inputProcessor = new TiledHierarchicalAStarInputProcessor(this); Table detailTable = new Table(container.skin); detailTable.row(); checkSmooth = new CheckBox("[RED]S[]mooth Path", container.skin); checkSmooth.setChecked(smooth); checkSmooth.addListener( new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { CheckBox checkBox = (CheckBox) event.getListenerActor(); smooth = checkBox.isChecked(); updatePath(true); } }); detailTable.add(checkSmooth); detailTable.row(); checkDiagonal = new CheckBox("Prefer [RED]D[]iagonal", container.skin); checkDiagonal.setChecked(worldMap.diagonal); checkDiagonal.addListener( new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { CheckBox checkBox = (CheckBox) event.getListenerActor(); worldMap.diagonal = checkBox.isChecked(); updatePath(true); } }); detailTable.add(checkDiagonal); detailTable.row(); addSeparator(detailTable); detailTable.row(); checkMetrics = new CheckBox("Calculate [RED]M[]etrics", container.skin); checkMetrics.setChecked(metrics); checkMetrics.addListener( new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { CheckBox checkBox = (CheckBox) event.getListenerActor(); metrics = checkBox.isChecked(); updatePath(true); } }); detailTable.add(checkMetrics); detailTable.row(); addSeparator(detailTable); detailTable.row(); sliderMillisAvailablePerFrame = new Slider(0.1f, 40f, 0.1f, false, container.skin); sliderMillisAvailablePerFrame.setValue(16); final Label labelMillisAvailablePerFrame = new Label( "Millis Available per Frame [[" + sliderMillisAvailablePerFrame.getValue() + "]", container.skin); detailTable.add(labelMillisAvailablePerFrame); detailTable.row(); sliderMillisAvailablePerFrame.addListener( new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { labelMillisAvailablePerFrame.setText( "Millis Available per Frame [[" + sliderMillisAvailablePerFrame.getValue() + "]"); } }); Table sliderMapfTable = new Table(); sliderMapfTable.add(new Label("[RED]-[] ", container.skin)); sliderMapfTable.add(sliderMillisAvailablePerFrame); sliderMapfTable.add(new Label(" [RED]+[]", container.skin)); detailTable.add(sliderMapfTable); detailWindow = createDetailWindow(detailTable); }