72 lines
2.4 KiB
Java
72 lines
2.4 KiB
Java
package fr.evolving.UI;
|
|
|
|
import java.lang.reflect.Method;
|
|
|
|
import com.badlogic.gdx.Game;
|
|
import com.badlogic.gdx.Gdx;
|
|
import com.badlogic.gdx.graphics.g2d.Batch;
|
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
|
import com.badlogic.gdx.scenes.scene2d.ui.ButtonGroup;
|
|
import com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton;
|
|
import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup;
|
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
|
|
|
import fr.evolving.assets.AssetLoader;
|
|
import fr.evolving.automata.Transmuter;
|
|
import fr.evolving.screens.GameScreen.calling;
|
|
|
|
|
|
public class VertiBarre extends Actor {
|
|
private VerticalGroup table;
|
|
private ImageTextButton[] Barre;
|
|
private ButtonGroup buttonGroup;
|
|
|
|
public VertiBarre() {
|
|
table = new VerticalGroup();
|
|
table.setPosition(AssetLoader.width, AssetLoader.height - 375);
|
|
table.right();
|
|
table.space(10f);
|
|
buttonGroup=new ButtonGroup<ImageTextButton>();
|
|
Barre = new ImageTextButton[Transmuter.Class.values().length];
|
|
Gdx.app.debug(getClass().getSimpleName(), "Menu:" + Barre.length+ " elements");
|
|
for (int i = 0; i < Barre.length; i++)
|
|
{
|
|
Barre[i] = new ImageTextButton(Transmuter.Class.values()[i].toString(), AssetLoader.Skin_level);
|
|
table.addActor(Barre[i]);
|
|
buttonGroup.add(Barre[i]);
|
|
Barre[i].setName(String.valueOf(i));
|
|
Barre[i].addListener(new ClickListener() {
|
|
@Override
|
|
public void clicked(InputEvent event, float x, float y) {
|
|
int caller = Integer.parseInt(event.getListenerActor().getName());
|
|
Gdx.app.debug("Barre2", "Selection dans la Barre droite:"+ caller);
|
|
Method method;
|
|
try {
|
|
Class<?> base = Class.forName("fr.evolving.screens.GameScreen");
|
|
Class<?>[] params = { int.class };
|
|
method = base.getDeclaredMethod("preparemenu", params);
|
|
method.invoke(((Game) Gdx.app.getApplicationListener()).getScreen(), caller);
|
|
} catch (Exception e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
buttonGroup.setMaxCheckCount(1);
|
|
buttonGroup.setMinCheckCount(0);
|
|
buttonGroup.setUncheckLast(true);
|
|
this.setBounds(table.getX(),table.getY(),table.getWidth(),table.getHeight());
|
|
}
|
|
|
|
public Actor hit(float x, float y, boolean touchable) {
|
|
return table.hit(x, y, touchable);
|
|
}
|
|
|
|
@Override
|
|
public void draw(Batch batch, float parentAlpha) {
|
|
table.draw(batch, parentAlpha);
|
|
}
|
|
|
|
} |