Add StartButton to other screens

Add references to core projects
This commit is contained in:
drdev
2014-02-23 22:27:18 +00:00
parent 2b8ec09fca
commit fa65bb10a6
9 changed files with 76 additions and 5 deletions

1
.gitattributes vendored
View File

@@ -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/draft/DraftScreen.java -text
forge-m-base/src/forge/screens/guantlet/GuantletScreen.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/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/quest/QuestScreen.java -text
forge-m-base/src/forge/screens/sealed/SealedScreen.java -text forge-m-base/src/forge/screens/sealed/SealedScreen.java -text
forge-m-base/src/forge/screens/settings/SettingsScreen.java -text forge-m-base/src/forge/screens/settings/SettingsScreen.java -text

View File

@@ -4,5 +4,9 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry exported="true" kind="lib" path="libs/gdx.jar" sourcepath="libs/gdx-sources.jar"/> <classpathentry exported="true" kind="lib" path="libs/gdx.jar" sourcepath="libs/gdx-sources.jar"/>
<classpathentry kind="lib" path="libs/gdx-freetype.jar"/> <classpathentry kind="lib" path="libs/gdx-freetype.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/forge-ai"/>
<classpathentry combineaccessrules="false" kind="src" path="/forge-core"/>
<classpathentry combineaccessrules="false" kind="src" path="/forge-game"/>
<classpathentry combineaccessrules="false" kind="src" path="/forge-net"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

@@ -1,6 +1,7 @@
package forge.screens.constructed; package forge.screens.constructed;
import forge.FScreen; import forge.FScreen;
import forge.game.Match;
import forge.toolbox.StartButton; import forge.toolbox.StartButton;
public class ConstructedScreen extends FScreen { public class ConstructedScreen extends FScreen {
@@ -10,8 +11,8 @@ public class ConstructedScreen extends FScreen {
super(true, "Constructed", true); super(true, "Constructed", true);
btnStart = add(new StartButton() { btnStart = add(new StartButton() {
@Override @Override
public void start() { public Match createMatch() {
//TODO: Start match return null; //TODO: Start match
} }
}); });
} }

View File

@@ -1,14 +1,24 @@
package forge.screens.draft; package forge.screens.draft;
import forge.FScreen; import forge.FScreen;
import forge.game.Match;
import forge.toolbox.StartButton;
public class DraftScreen extends FScreen { public class DraftScreen extends FScreen {
private final StartButton btnStart;
public DraftScreen() { public DraftScreen() {
super(true, "Draft", true); super(true, "Draft", true);
btnStart = add(new StartButton() {
@Override
public Match createMatch() {
return null; //TODO: Start match
}
});
} }
@Override @Override
protected void doLayout(float startY, float width, float height) { protected void doLayout(float startY, float width, float height) {
height = btnStart.updateLayout(width, height); //update height to exclude area taken up by StartButton
} }
} }

View File

@@ -1,14 +1,24 @@
package forge.screens.guantlet; package forge.screens.guantlet;
import forge.FScreen; import forge.FScreen;
import forge.game.Match;
import forge.toolbox.StartButton;
public class GuantletScreen extends FScreen { public class GuantletScreen extends FScreen {
private final StartButton btnStart;
public GuantletScreen() { public GuantletScreen() {
super(true, "Guantlet", true); super(true, "Guantlet", true);
btnStart = add(new StartButton() {
@Override
public Match createMatch() {
return null; //TODO: Start match
}
});
} }
@Override @Override
protected void doLayout(float startY, float width, float height) { protected void doLayout(float startY, float width, float height) {
height = btnStart.updateLayout(width, height); //update height to exclude area taken up by StartButton
} }
} }

View File

@@ -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) {
}
}

View File

@@ -1,14 +1,24 @@
package forge.screens.quest; package forge.screens.quest;
import forge.FScreen; import forge.FScreen;
import forge.game.Match;
import forge.toolbox.StartButton;
public class QuestScreen extends FScreen { public class QuestScreen extends FScreen {
private final StartButton btnStart;
public QuestScreen() { public QuestScreen() {
super(true, "Quest", true); super(true, "Quest", true);
btnStart = add(new StartButton() {
@Override
public Match createMatch() {
return null; //TODO: Start match
}
});
} }
@Override @Override
protected void doLayout(float startY, float width, float height) { protected void doLayout(float startY, float width, float height) {
height = btnStart.updateLayout(width, height); //update height to exclude area taken up by StartButton
} }
} }

View File

@@ -1,14 +1,24 @@
package forge.screens.sealed; package forge.screens.sealed;
import forge.FScreen; import forge.FScreen;
import forge.game.Match;
import forge.toolbox.StartButton;
public class SealedScreen extends FScreen { public class SealedScreen extends FScreen {
private final StartButton btnStart;
public SealedScreen() { public SealedScreen() {
super(true, "Sealed", true); super(true, "Sealed", true);
btnStart = add(new StartButton() {
@Override
public Match createMatch() {
return null; //TODO: Start match
}
});
} }
@Override @Override
protected void doLayout(float startY, float width, float height) { protected void doLayout(float startY, float width, float height) {
height = btnStart.updateLayout(width, height); //update height to exclude area taken up by StartButton
} }
} }

View File

@@ -1,10 +1,14 @@
package forge.toolbox; package forge.toolbox;
import forge.Forge;
import forge.Forge.Graphics; import forge.Forge.Graphics;
import forge.assets.FSkinImage; import forge.assets.FSkinImage;
import forge.game.Match;
import forge.screens.match.MatchScreen;
public abstract class StartButton extends FDisplayObject { public abstract class StartButton extends FDisplayObject {
private boolean pressed; private boolean pressed;
private boolean creatingMatch;
/** /**
* Instantiates a new FButton. * Instantiates a new FButton.
@@ -12,7 +16,7 @@ public abstract class StartButton extends FDisplayObject {
public StartButton() { public StartButton() {
} }
public abstract void start(); public abstract Match createMatch();
@Override @Override
public final boolean touchDown(float x, float y) { public final boolean touchDown(float x, float y) {
@@ -28,8 +32,12 @@ public abstract class StartButton extends FDisplayObject {
@Override @Override
public final boolean tap(float x, float y, int count) { public final boolean tap(float x, float y, int count) {
if (count == 1) { if (count == 1 && !creatingMatch) {
start(); 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; return true;
} }