Fix acousticHandler error
This commit is contained in:
@@ -23,6 +23,7 @@ public class AcousticHandler {
|
|||||||
private GameMusic playing = null; // Currently playing track
|
private GameMusic playing = null; // Currently playing track
|
||||||
private GameMusic scheduled = null; // Scheduled track to play next
|
private GameMusic scheduled = null; // Scheduled track to play next
|
||||||
private GameMusic old = null; // Old track being faded out
|
private GameMusic old = null; // Old track being faded out
|
||||||
|
private ArrayList<GameMusic> queue = new ArrayList<>();
|
||||||
|
|
||||||
private float mainVolume = 1.0f;
|
private float mainVolume = 1.0f;
|
||||||
private float musicVolume = 1.0f;
|
private float musicVolume = 1.0f;
|
||||||
@@ -169,6 +170,12 @@ private float lerp(float start, float end, float t) {
|
|||||||
* - Ensures no NullPointerException occurs by validating track states before invoking methods.
|
* - Ensures no NullPointerException occurs by validating track states before invoking methods.
|
||||||
*/
|
*/
|
||||||
private void updateVolumeAndTrack() {
|
private void updateVolumeAndTrack() {
|
||||||
|
if(!fading) {
|
||||||
|
if(!queue.isEmpty()) {
|
||||||
|
scheduled = queue.removeFirst();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (scheduled == null && !fading && playing == null) {
|
if (scheduled == null && !fading && playing == null) {
|
||||||
// Nothing to play or fade, early exit
|
// Nothing to play or fade, early exit
|
||||||
return;
|
return;
|
||||||
@@ -283,7 +290,8 @@ private void updateGameTracks() {
|
|||||||
|
|
||||||
MusicAsset nextTrack = gameTracks.remove(0);
|
MusicAsset nextTrack = gameTracks.remove(0);
|
||||||
|
|
||||||
scheduled = new GameMusic(app, nextTrack, getMusicVolumeTotal(), nextTrack.getSubVolume(), nextTrack.getLoop(), 0.0f);
|
GameMusic music = new GameMusic(app, nextTrack, getMusicVolumeTotal(), nextTrack.getSubVolume(), nextTrack.getLoop(), 0.0f);
|
||||||
|
queue.add(music);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
public abstract class Dialog {
|
public abstract class Dialog {
|
||||||
protected MdgaApp app;
|
protected MdgaApp app;
|
||||||
|
protected int xOffset = 0;
|
||||||
|
protected int yOffset = 0;
|
||||||
|
|
||||||
public Dialog(MdgaApp app) {
|
public Dialog(MdgaApp app) {
|
||||||
this.app = app;
|
this.app = app;
|
||||||
@@ -17,5 +19,13 @@ public Dialog(MdgaApp app) {
|
|||||||
public abstract void show();
|
public abstract void show();
|
||||||
public abstract void hide();
|
public abstract void hide();
|
||||||
public abstract void addButton(MdgaButton button);
|
public abstract void addButton(MdgaButton button);
|
||||||
|
|
||||||
|
public void setYOffset(int yOffset) {
|
||||||
|
this.yOffset = yOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setXOffset(int xOffset) {
|
||||||
|
this.xOffset = xOffset;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
public class HorizontalButtonDialog extends Dialog {
|
public class HorizontalButtonDialog extends Dialog {
|
||||||
private Node row = new Node();
|
private Node row = new Node();
|
||||||
|
|
||||||
|
private int offset = 0;
|
||||||
|
|
||||||
public HorizontalButtonDialog(MdgaApp app) {
|
public HorizontalButtonDialog(MdgaApp app) {
|
||||||
super(app);
|
super(app);
|
||||||
|
|
||||||
@@ -22,7 +24,7 @@ public HorizontalButtonDialog(MdgaApp app) {
|
|||||||
public void show() {
|
public void show() {
|
||||||
app.getGuiNode().attachChild(row);
|
app.getGuiNode().attachChild(row);
|
||||||
|
|
||||||
row.setLocalTranslation(app.getCamera().getWidth() / 2, app.getCamera().getHeight() / 2, 0);
|
row.setLocalTranslation((app.getCamera().getWidth() / 2) + xOffset, (app.getCamera().getHeight() / 2) + yOffset, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ public void show() {
|
|||||||
app.getGuiNode().attachChild(container);
|
app.getGuiNode().attachChild(container);
|
||||||
|
|
||||||
container.setLocalTranslation(
|
container.setLocalTranslation(
|
||||||
app.getCamera().getWidth() / 2 - container.getPreferredSize().x / 2,
|
(app.getCamera().getWidth() / 2 - container.getPreferredSize().x / 2) + xOffset,
|
||||||
app.getCamera().getHeight() / 2 + container.getPreferredSize().y / 2,
|
(app.getCamera().getHeight() / 2 + container.getPreferredSize().y / 2) + yOffset,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,9 +15,6 @@ public class MdgaApp extends SimpleApplication {
|
|||||||
MdgaView view = null;
|
MdgaView view = null;
|
||||||
private MdgaState state = MdgaState.MAIN;
|
private MdgaState state = MdgaState.MAIN;
|
||||||
|
|
||||||
//TODO
|
|
||||||
private NanoTimer test = new NanoTimer();
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
AppSettings settings = new AppSettings(true);
|
AppSettings settings = new AppSettings(true);
|
||||||
settings.setSamples(128);
|
settings.setSamples(128);
|
||||||
@@ -44,19 +41,6 @@ public void simpleInitApp() {
|
|||||||
@Override
|
@Override
|
||||||
public void simpleUpdate(float tpf) {
|
public void simpleUpdate(float tpf) {
|
||||||
acousticHandler.update();
|
acousticHandler.update();
|
||||||
|
|
||||||
if(test.getTimeInSeconds() < 8) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (state) {
|
|
||||||
case LOBBY:
|
|
||||||
//enter(MdgaState.GAME);
|
|
||||||
break;
|
|
||||||
case GAME:
|
|
||||||
//enter(MdgaState.CEREMONY);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enter(MdgaState state) {
|
public void enter(MdgaState state) {
|
||||||
@@ -72,11 +56,9 @@ public void enter(MdgaState state) {
|
|||||||
break;
|
break;
|
||||||
case LOBBY:
|
case LOBBY:
|
||||||
view = new LobbyView(this);
|
view = new LobbyView(this);
|
||||||
test.reset();
|
|
||||||
break;
|
break;
|
||||||
case GAME:
|
case GAME:
|
||||||
view = new GameView(this);
|
view = new GameView(this);
|
||||||
test.reset();
|
|
||||||
break;
|
break;
|
||||||
case CEREMONY:
|
case CEREMONY:
|
||||||
view = new CeremonyView(this);
|
view = new CeremonyView(this);
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public LobbyView(MdgaApp app) {
|
|||||||
dialog = new HorizontalButtonDialog(app);
|
dialog = new HorizontalButtonDialog(app);
|
||||||
|
|
||||||
float buttonWidth = 150;
|
float buttonWidth = 150;
|
||||||
float spacing = 60;
|
float spacing = 80;
|
||||||
float startX = -((3 * buttonWidth + 2 * spacing) / 2);
|
float startX = -((3 * buttonWidth + 2 * spacing) / 2);
|
||||||
float currentX = startX;
|
float currentX = startX;
|
||||||
|
|
||||||
@@ -44,6 +44,8 @@ public LobbyView(MdgaApp app) {
|
|||||||
dialog.addButton(button);
|
dialog.addButton(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dialog.setXOffset(-100);
|
||||||
|
|
||||||
//Button weiterButton = createButton("Weiter", new Vector3f(150, 50, 0), ColorRGBA.Blue, ColorRGBA.Cyan);
|
//Button weiterButton = createButton("Weiter", new Vector3f(150, 50, 0), ColorRGBA.Blue, ColorRGBA.Cyan);
|
||||||
|
|
||||||
//weiterButton.setLocalTranslation(app.getCamera().getWidth() - 200, 100, 0);
|
//weiterButton.setLocalTranslation(app.getCamera().getWidth() - 200, 100, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user