Make it so Chaos Wheel spins after winning a game

This commit is contained in:
drdev
2016-01-10 18:12:16 +00:00
parent 8e5822fe82
commit bc7a6fef0d
6 changed files with 33 additions and 5 deletions

View File

@@ -13,9 +13,14 @@ import forge.util.PhysicsObject;
import forge.util.ThreadUtil;
public class ConquestChaosWheel extends FOverlay {
public static void spin() {
ConquestChaosWheel wheel = new ConquestChaosWheel();
wheel.show();
}
private final WheelSpinAnimation animation = new WheelSpinAnimation();
public ConquestChaosWheel() {
private ConquestChaosWheel() {
}
@Override

View File

@@ -6,23 +6,27 @@ import forge.planarconquest.ConquestEvent;
import forge.screens.LaunchScreen;
import forge.screens.LoadingOverlay;
import forge.toolbox.FOptionPane;
import forge.util.Callback;
public class ConquestEventScreen extends LaunchScreen {
protected static final float PADDING = FOptionPane.PADDING;
private final ConquestEvent event;
private final Callback<ConquestEvent> callback;
private boolean launchedEvent;
public ConquestEventScreen(ConquestEvent event0) {
public ConquestEventScreen(ConquestEvent event0, Callback<ConquestEvent> callback0) {
super(event0.getEventName());
event = event0;
callback = callback0;
}
@Override
public void onActivate() {
if (launchedEvent) {
//when returning to this screen from launched event, close it immediately
//when returning to this screen from launched event, close it immediately and call callback
Forge.back();
callback.run(event);
}
}

View File

@@ -17,12 +17,14 @@ import forge.card.CardDetailUtil.DetailColors;
import forge.model.FModel;
import forge.planarconquest.ConquestData;
import forge.planarconquest.ConquestEvent.ConquestEventRecord;
import forge.planarconquest.ConquestEvent;
import forge.planarconquest.ConquestLocation;
import forge.planarconquest.ConquestPlane;
import forge.planarconquest.ConquestPlane.Region;
import forge.planarconquest.ConquestPlaneData;
import forge.screens.FScreen;
import forge.toolbox.FScrollPane;
import forge.util.Callback;
import forge.util.collect.FCollectionView;
public class ConquestMultiverseScreen extends FScreen {
@@ -57,7 +59,15 @@ public class ConquestMultiverseScreen extends FScreen {
}
private void launchEvent() {
Forge.openScreen(new ConquestEventScreen(model.getCurrentLocation().getEvent()));
Forge.openScreen(new ConquestEventScreen(model.getCurrentLocation().createEvent(), new Callback<ConquestEvent>() {
@Override
public void run(ConquestEvent event) {
if (event.wasConquered()) {
//spin Chaos Wheel if event was conquered
ConquestChaosWheel.spin();
}
}
}));
}
private class PlaneGrid extends FScrollPane {