diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/Dialog/SingleButtonLeftDialog.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/Dialog/SingleButtonLeftDialog.java index 559ae1d7..b3f97705 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/Dialog/SingleButtonLeftDialog.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/Dialog/SingleButtonLeftDialog.java @@ -1,4 +1,30 @@ package pp.mdga.client.Dialog; -public class SingleButtonLeftDialog { +import com.jme3.math.Vector3f; +import pp.mdga.client.MdgaApp; + +public class SingleButtonLeftDialog extends Dialog { + public SingleButtonLeftDialog(MdgaApp app, String label, Runnable action) { + super(app); + + createButton(label, action, new Vector3f(1, 1, 1)); + } + + @Override + public void show() { + super.show(); + + float vertical = app.getCamera().getWidth() / 16 - container.getPreferredSize().x / 16; + float horitontal = app.getCamera().getHeight() / 12 + container.getPreferredSize().y / 12; + + float x = 2 * vertical; + float y = 2 * horitontal; + + container.setLocalTranslation(x, y, 0); + } + + @Override + public void hide() { + super.hide(); + } } diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/Dialog/SingleButtonRightDialog.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/Dialog/SingleButtonRightDialog.java index 9a38102e..a518fcd8 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/Dialog/SingleButtonRightDialog.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/Dialog/SingleButtonRightDialog.java @@ -7,7 +7,7 @@ import com.simsilica.lemur.core.GuiLayout; import pp.mdga.client.MdgaApp; -public class SingleButtonRightDialog extends Dialog{ +public class SingleButtonRightDialog extends Dialog { public SingleButtonRightDialog(MdgaApp app, String label, Runnable action) { super(app); @@ -19,10 +19,10 @@ public void show() { super.show(); float vertical = app.getCamera().getWidth() / 16 - container.getPreferredSize().x / 16; - float horitontal = app.getCamera().getHeight() / 9 + container.getPreferredSize().y / 9; + float horitontal = app.getCamera().getHeight() / 12 + container.getPreferredSize().y / 12; - float x = 12 * vertical; - float y = 1 * horitontal; + float x = 14 * vertical; + float y = 2 * horitontal; container.setLocalTranslation(x, y, 0); } diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/ModelSyncronizer.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/ModelSyncronizer.java new file mode 100644 index 00000000..40024881 --- /dev/null +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/ModelSyncronizer.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class ModelSyncronizer { +} diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/View/CeremonyView.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/View/CeremonyView.java index 28ef62bf..c48f3dd7 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/View/CeremonyView.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/View/CeremonyView.java @@ -4,6 +4,7 @@ import com.jme3.scene.Geometry; import com.simsilica.lemur.Container; import com.simsilica.lemur.Label; +import pp.mdga.client.Dialog.SingleButtonLeftDialog; import pp.mdga.client.Dialog.SingleButtonRightDialog; import pp.mdga.client.MdgaApp; import pp.mdga.client.MdgaState; @@ -13,29 +14,29 @@ public class CeremonyView extends MdgaView { private enum SubState { AWARD_CEREMONY, STATISTICS, - MAIN, } private SubState state; private SingleButtonRightDialog continueButton; + private SingleButtonLeftDialog backButton; public CeremonyView(MdgaApp app) { super(app); - continueButton = new SingleButtonRightDialog(app, "Weiter", () -> next()); + continueButton = new SingleButtonRightDialog(app, "Weiter", () -> forward()); + backButton = new SingleButtonLeftDialog(app, "Zurück", () -> back()); } @Override public void onEnter() { - state = SubState.AWARD_CEREMONY; - - continueButton.show(); + enterSub(SubState.AWARD_CEREMONY); } @Override public void onLeave() { continueButton.hide(); + backButton.hide(); } private void awardCeremony() { @@ -44,7 +45,8 @@ private void awardCeremony() { Geometry background = createBackground("b1.png"); node.attachChild(background); - + continueButton.show(); + backButton.hide(); } private void statistics() { @@ -53,10 +55,13 @@ private void statistics() { Geometry background = createBackground("b2.png"); node.attachChild(background); - + continueButton.show(); + backButton.show(); } - private void into() { + private void enterSub(SubState state) { + this.state = state; + switch (state) { case AWARD_CEREMONY: awardCeremony(); @@ -64,22 +69,27 @@ private void into() { case STATISTICS: statistics(); break; - case MAIN: + } + } + + private void forward() { + switch (state) { + case AWARD_CEREMONY: + enterSub(SubState.STATISTICS); + break; + case STATISTICS: app.enter(MdgaState.MAIN); break; } } - private void next() { + private void back() { switch (state) { case AWARD_CEREMONY: - + //nothing break; case STATISTICS: - - break; - case MAIN: - app.enter(MdgaState.MAIN); + enterSub(SubState.AWARD_CEREMONY); break; } } diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/View/LobbyView.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/View/LobbyView.java index 6e140f25..451fbf35 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/View/LobbyView.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/View/LobbyView.java @@ -1,6 +1,7 @@ package pp.mdga.client.View; import com.jme3.scene.Geometry; +import pp.mdga.client.Dialog.SingleButtonLeftDialog; import pp.mdga.client.Dialog.SingleButtonRightDialog; import pp.mdga.client.MdgaApp; import pp.mdga.client.MdgaState; @@ -9,7 +10,8 @@ public class LobbyView extends MdgaView { private Geometry background; - private SingleButtonRightDialog continueButton; + private SingleButtonRightDialog readyButton; + private SingleButtonLeftDialog leaveButton; public LobbyView(MdgaApp app) { super(app); @@ -17,17 +19,20 @@ public LobbyView(MdgaApp app) { background = createBackground("lobby.png"); node.attachChild(background); - continueButton = new SingleButtonRightDialog(app, "Weiter", () -> app.enter(MdgaState.GAME)); + readyButton = new SingleButtonRightDialog(app, "Fertig", () -> app.enter(MdgaState.GAME)); + leaveButton = new SingleButtonLeftDialog(app, "Verlassen", () -> app.enter(MdgaState.MAIN)); } @Override public void onEnter() { - continueButton.show(); + readyButton.show(); + leaveButton.show(); } @Override public void onLeave() { - continueButton.hide(); + readyButton.hide(); + leaveButton.hide(); } }