package com.tacoid.pweek.actors;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.Button;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.tacoid.pweek.MusicPlayer;
public class MusicButtonActor extends Button {
private MusicButtonActor(TextureRegion regionUp, TextureRegion regionDown,
TextureRegion regionChecked) {
super(new TextureRegionDrawable(regionUp), new TextureRegionDrawable(regionDown), new TextureRegionDrawable(regionChecked));
setChecked(MusicPlayer.getInstance().isMuted());
addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
if(isChecked()) {
MusicPlayer.getInstance().mute();
} else {
MusicPlayer.getInstance().unmute();
}
}
});
}
static public MusicButtonActor createMusicButton(TextureAtlas atlasButtons) {
TextureRegion musicOnRegion = new TextureRegion(atlasButtons.findRegion("music-on"));
TextureRegion musicOffRegion = new TextureRegion(atlasButtons.findRegion("music-off"));
return new MusicButtonActor(musicOnRegion, musicOnRegion, musicOffRegion);
}
public void draw (SpriteBatch batch, float parentAlpha) {
if(MusicPlayer.getInstance().isMuted()) {
this.setChecked(true);
} else {
this.setChecked(false);
}
super.draw(batch, parentAlpha);
}
}