Merge pull request #3431 from jjayers99/master

Adventure fixes
This commit is contained in:
Anthony Calosa
2023-07-08 19:44:54 +08:00
committed by GitHub
3 changed files with 29 additions and 5 deletions

View File

@@ -13,6 +13,7 @@ import forge.Forge;
import forge.adventure.data.DifficultyData; import forge.adventure.data.DifficultyData;
import forge.adventure.data.HeroListData; import forge.adventure.data.HeroListData;
import forge.adventure.util.*; import forge.adventure.util.*;
import forge.adventure.stage.WorldStage;
import forge.adventure.world.WorldSave; import forge.adventure.world.WorldSave;
import forge.card.CardEdition; import forge.card.CardEdition;
import forge.card.ColorSet; import forge.card.ColorSet;
@@ -199,6 +200,7 @@ public class NewGameScene extends UIScene {
editionIds[starterEdition.getCurrentIndex()], 0);//maybe replace with enum editionIds[starterEdition.getCurrentIndex()], 0);//maybe replace with enum
GamePlayerUtil.getGuiPlayer().setName(selectedName.getText()); GamePlayerUtil.getGuiPlayer().setName(selectedName.getText());
SoundSystem.instance.changeBackgroundTrack(); SoundSystem.instance.changeBackgroundTrack();
WorldStage.getInstance().setupNewGame();
Forge.switchScene(GameScene.instance()); Forge.switchScene(GameScene.instance());
}; };
Forge.setTransitionScreen(new TransitionScreen(runnable, null, false, true, "Generating World...")); Forge.setTransitionScreen(new TransitionScreen(runnable, null, false, true, "Generating World..."));

View File

@@ -43,6 +43,7 @@ public class WorldStage extends GameStage implements SaveFileContent {
protected ArrayList<Pair<Float, EnemySprite>> enemies = new ArrayList<>(); protected ArrayList<Pair<Float, EnemySprite>> enemies = new ArrayList<>();
private final static Float dieTimer = 20f;//todo config private final static Float dieTimer = 20f;//todo config
private Float globalTimer = 0f; private Float globalTimer = 0f;
private transient boolean newGame = false;
NavArrowActor navArrow; NavArrowActor navArrow;
public WorldStage() { public WorldStage() {
@@ -333,15 +334,24 @@ public class WorldStage extends GameStage implements SaveFileContent {
} }
} }
public void setupNewGame(){
newGame = true; //On a new game, we want to automatically enter any POI the player overlaps with.
}
@Override @Override
public void enter() { public void enter() {
getPlayerSprite().LoadPos(); getPlayerSprite().LoadPos();
getPlayerSprite().setMovementDirection(Vector2.Zero); getPlayerSprite().setMovementDirection(Vector2.Zero);
for (Actor actor : foregroundSprites.getChildren()) { if (newGame) {
if (actor.getClass() == PointOfInterestMapSprite.class) { newGame = false;
PointOfInterestMapSprite point = (PointOfInterestMapSprite) actor; }
if (player.collideWith(point.getBoundingRect())) { else {
collidingPoint = point; for (Actor actor : foregroundSprites.getChildren()) {
if (actor.getClass() == PointOfInterestMapSprite.class) {
PointOfInterestMapSprite point = (PointOfInterestMapSprite) actor;
if (player.collideWith(point.getBoundingRect())) {
collidingPoint = point;
}
} }
} }
} }

View File

@@ -0,0 +1,12 @@
{
"automappingRulesFile": "",
"commands": [
],
"compatibilityVersion": 1100,
"extensionsPath": "extensions",
"folders": [
"."
],
"propertyTypes": [
]
}