From 5f2dd6ef75695487d65c453c0e6b53039de6ca8c Mon Sep 17 00:00:00 2001 From: Recrown Date: Mon, 30 Oct 2017 18:33:46 -0500 Subject: [PATCH] selection now highlighting --- android/assets/uiskin.png | Bin 11583 -> 11542 bytes .../ui/components/MusicSelectable.java | 21 ++++++++++++++++-- .../graphics/ui/pages/MusicSelectionPage.java | 10 ++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/android/assets/uiskin.png b/android/assets/uiskin.png index 33b56892dded929ebaec953cdb2b92054e07c519..7511fda88c9c3264e2c8674d36edcbf4fcc9366f 100755 GIT binary patch delta 8823 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 diff --git a/core/src/zero1hd/rhythmbullet/graphics/ui/components/MusicSelectable.java b/core/src/zero1hd/rhythmbullet/graphics/ui/components/MusicSelectable.java index 6902fd9..cab3308 100755 --- a/core/src/zero1hd/rhythmbullet/graphics/ui/components/MusicSelectable.java +++ b/core/src/zero1hd/rhythmbullet/graphics/ui/components/MusicSelectable.java @@ -4,16 +4,20 @@ import com.badlogic.gdx.Preferences; import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.scenes.scene2d.InputEvent; +import com.badlogic.gdx.scenes.scene2d.Touchable; import com.badlogic.gdx.scenes.scene2d.ui.Image; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Skin; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup; import com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup; +import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; import com.badlogic.gdx.utils.Disposable; import zero1hd.rhythmbullet.audio.SongInfo; +import zero1hd.rhythmbullet.graphics.ui.pages.MusicSelectionPage; public class MusicSelectable extends WidgetGroup implements Disposable { private Table table; @@ -32,7 +36,7 @@ public class MusicSelectable extends WidgetGroup implements Disposable { private VerticalGroup vGroup; - public MusicSelectable(FileHandle musicFile, Preferences musicAnnotation, Skin skin, Texture defaultAlbumC) { + public MusicSelectable(FileHandle musicFile, Preferences musicAnnotation, Skin skin, Texture defaultAlbumC, MusicSelectionPage msp) { table = new Table(skin); table.setBackground("holo-pane"); vGroup = new VerticalGroup(); @@ -59,6 +63,19 @@ public class MusicSelectable extends WidgetGroup implements Disposable { table.add(vGroup).expandX().fillX().center(); addActor(table); + + addListener(new ClickListener() { + @Override + public void clicked(InputEvent event, float x, float y) { + if (selected) { + deselect(); + } else { + msp.deselectAll(); + select(); + } + super.clicked(event, x, y); + } + }); } /** @@ -116,7 +133,7 @@ public class MusicSelectable extends WidgetGroup implements Disposable { selected = true; } - public void diselect() { + public void deselect() { table.setBackground("holo-pane"); selected = false; } diff --git a/core/src/zero1hd/rhythmbullet/graphics/ui/pages/MusicSelectionPage.java b/core/src/zero1hd/rhythmbullet/graphics/ui/pages/MusicSelectionPage.java index cb5c35c..59470b4 100755 --- a/core/src/zero1hd/rhythmbullet/graphics/ui/pages/MusicSelectionPage.java +++ b/core/src/zero1hd/rhythmbullet/graphics/ui/pages/MusicSelectionPage.java @@ -13,12 +13,14 @@ import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.scenes.scene2d.Actor; +import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.ui.Image; import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane; import com.badlogic.gdx.scenes.scene2d.ui.Skin; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; +import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.utils.Array; import zero1hd.rhythmbullet.audio.SongInfo; @@ -113,7 +115,7 @@ public class MusicSelectionPage extends Page { Gdx.app.debug("MusicSelectionPage", "Refreshing..."); for (int i = 0; i < songList.getAmountOfSongs(); i++) { - MusicSelectable selectable = new MusicSelectable(songList.getSongFileHandleFromIndex(i), musicFileAnnotation, skin, assets.get("defaultCover.png", Texture.class)); + MusicSelectable selectable = new MusicSelectable(songList.getSongFileHandleFromIndex(i), musicFileAnnotation, skin, assets.get("defaultCover.png", Texture.class), this); selectables.add(selectable); songTable.add(selectable).expandX().fillX().height((getHeight() >= 2160 ? 300f : 200f)); @@ -139,4 +141,10 @@ public class MusicSelectionPage extends Page { white.dispose(); super.dispose(); } + + public void deselectAll() { + for (int i = 0; i < selectables.size; i++) { + selectables.get(i).deselect(); + } + } }