diff --git a/.gitattributes b/.gitattributes
index 4619f04077a..7294b3ad93a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -15996,6 +15996,7 @@ forge-m-base/src/forge/screens/constructed/ConstructedScreen.java -text
forge-m-base/src/forge/screens/draft/DraftScreen.java -text
forge-m-base/src/forge/screens/guantlet/GuantletScreen.java -text
forge-m-base/src/forge/screens/home/HomeScreen.java -text
+forge-m-base/src/forge/screens/match/MatchScreen.java -text
forge-m-base/src/forge/screens/quest/QuestScreen.java -text
forge-m-base/src/forge/screens/sealed/SealedScreen.java -text
forge-m-base/src/forge/screens/settings/SettingsScreen.java -text
diff --git a/forge-m-base/.classpath b/forge-m-base/.classpath
index c8b2ef50879..5fdb56bd67d 100644
--- a/forge-m-base/.classpath
+++ b/forge-m-base/.classpath
@@ -4,5 +4,9 @@
+
+
+
+
diff --git a/forge-m-base/src/forge/screens/constructed/ConstructedScreen.java b/forge-m-base/src/forge/screens/constructed/ConstructedScreen.java
index 788f5500e93..6ad34f0f5db 100644
--- a/forge-m-base/src/forge/screens/constructed/ConstructedScreen.java
+++ b/forge-m-base/src/forge/screens/constructed/ConstructedScreen.java
@@ -1,6 +1,7 @@
package forge.screens.constructed;
import forge.FScreen;
+import forge.game.Match;
import forge.toolbox.StartButton;
public class ConstructedScreen extends FScreen {
@@ -10,8 +11,8 @@ public class ConstructedScreen extends FScreen {
super(true, "Constructed", true);
btnStart = add(new StartButton() {
@Override
- public void start() {
- //TODO: Start match
+ public Match createMatch() {
+ return null; //TODO: Start match
}
});
}
diff --git a/forge-m-base/src/forge/screens/draft/DraftScreen.java b/forge-m-base/src/forge/screens/draft/DraftScreen.java
index f3fba57de91..f78660d2d67 100644
--- a/forge-m-base/src/forge/screens/draft/DraftScreen.java
+++ b/forge-m-base/src/forge/screens/draft/DraftScreen.java
@@ -1,14 +1,24 @@
package forge.screens.draft;
import forge.FScreen;
+import forge.game.Match;
+import forge.toolbox.StartButton;
public class DraftScreen extends FScreen {
+ private final StartButton btnStart;
public DraftScreen() {
super(true, "Draft", true);
+ btnStart = add(new StartButton() {
+ @Override
+ public Match createMatch() {
+ return null; //TODO: Start match
+ }
+ });
}
@Override
protected void doLayout(float startY, float width, float height) {
+ height = btnStart.updateLayout(width, height); //update height to exclude area taken up by StartButton
}
}
diff --git a/forge-m-base/src/forge/screens/guantlet/GuantletScreen.java b/forge-m-base/src/forge/screens/guantlet/GuantletScreen.java
index 7a480d030b3..b8b19f9fe83 100644
--- a/forge-m-base/src/forge/screens/guantlet/GuantletScreen.java
+++ b/forge-m-base/src/forge/screens/guantlet/GuantletScreen.java
@@ -1,14 +1,24 @@
package forge.screens.guantlet;
import forge.FScreen;
+import forge.game.Match;
+import forge.toolbox.StartButton;
public class GuantletScreen extends FScreen {
+ private final StartButton btnStart;
public GuantletScreen() {
super(true, "Guantlet", true);
+ btnStart = add(new StartButton() {
+ @Override
+ public Match createMatch() {
+ return null; //TODO: Start match
+ }
+ });
}
@Override
protected void doLayout(float startY, float width, float height) {
+ height = btnStart.updateLayout(width, height); //update height to exclude area taken up by StartButton
}
}
diff --git a/forge-m-base/src/forge/screens/match/MatchScreen.java b/forge-m-base/src/forge/screens/match/MatchScreen.java
new file mode 100644
index 00000000000..26c480f2c23
--- /dev/null
+++ b/forge-m-base/src/forge/screens/match/MatchScreen.java
@@ -0,0 +1,17 @@
+package forge.screens.match;
+
+import forge.FScreen;
+import forge.game.Match;
+
+public class MatchScreen extends FScreen {
+ private final Match match;
+
+ public MatchScreen(Match match0) {
+ super(false, null, true);
+ this.match = match0;
+ }
+
+ @Override
+ protected void doLayout(float startY, float width, float height) {
+ }
+}
diff --git a/forge-m-base/src/forge/screens/quest/QuestScreen.java b/forge-m-base/src/forge/screens/quest/QuestScreen.java
index 311104707ab..1e2da8374cc 100644
--- a/forge-m-base/src/forge/screens/quest/QuestScreen.java
+++ b/forge-m-base/src/forge/screens/quest/QuestScreen.java
@@ -1,14 +1,24 @@
package forge.screens.quest;
import forge.FScreen;
+import forge.game.Match;
+import forge.toolbox.StartButton;
public class QuestScreen extends FScreen {
+ private final StartButton btnStart;
public QuestScreen() {
super(true, "Quest", true);
+ btnStart = add(new StartButton() {
+ @Override
+ public Match createMatch() {
+ return null; //TODO: Start match
+ }
+ });
}
@Override
protected void doLayout(float startY, float width, float height) {
+ height = btnStart.updateLayout(width, height); //update height to exclude area taken up by StartButton
}
}
diff --git a/forge-m-base/src/forge/screens/sealed/SealedScreen.java b/forge-m-base/src/forge/screens/sealed/SealedScreen.java
index e61a78d1607..7babbadcde2 100644
--- a/forge-m-base/src/forge/screens/sealed/SealedScreen.java
+++ b/forge-m-base/src/forge/screens/sealed/SealedScreen.java
@@ -1,14 +1,24 @@
package forge.screens.sealed;
import forge.FScreen;
+import forge.game.Match;
+import forge.toolbox.StartButton;
public class SealedScreen extends FScreen {
+ private final StartButton btnStart;
public SealedScreen() {
super(true, "Sealed", true);
+ btnStart = add(new StartButton() {
+ @Override
+ public Match createMatch() {
+ return null; //TODO: Start match
+ }
+ });
}
@Override
protected void doLayout(float startY, float width, float height) {
+ height = btnStart.updateLayout(width, height); //update height to exclude area taken up by StartButton
}
}
diff --git a/forge-m-base/src/forge/toolbox/StartButton.java b/forge-m-base/src/forge/toolbox/StartButton.java
index dbf1673ba5a..d23f8f58c07 100644
--- a/forge-m-base/src/forge/toolbox/StartButton.java
+++ b/forge-m-base/src/forge/toolbox/StartButton.java
@@ -1,10 +1,14 @@
package forge.toolbox;
+import forge.Forge;
import forge.Forge.Graphics;
import forge.assets.FSkinImage;
+import forge.game.Match;
+import forge.screens.match.MatchScreen;
public abstract class StartButton extends FDisplayObject {
private boolean pressed;
+ private boolean creatingMatch;
/**
* Instantiates a new FButton.
@@ -12,7 +16,7 @@ public abstract class StartButton extends FDisplayObject {
public StartButton() {
}
- public abstract void start();
+ public abstract Match createMatch();
@Override
public final boolean touchDown(float x, float y) {
@@ -28,8 +32,12 @@ public abstract class StartButton extends FDisplayObject {
@Override
public final boolean tap(float x, float y, int count) {
- if (count == 1) {
- start();
+ if (count == 1 && !creatingMatch) {
+ creatingMatch = true; //ensure user doesn't create multiple matches by tapping multiple times
+ Match match = createMatch();
+ if (match != null) {
+ Forge.openScreen(new MatchScreen(match));
+ }
}
return true;
}