diff --git a/forge-gui-mobile/src/forge/adventure/scene/NewGameScene.java b/forge-gui-mobile/src/forge/adventure/scene/NewGameScene.java index 91d3dd1cb64..af022b901ec 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/NewGameScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/NewGameScene.java @@ -13,6 +13,7 @@ import forge.Forge; import forge.adventure.data.DifficultyData; import forge.adventure.data.HeroListData; import forge.adventure.util.*; +import forge.adventure.stage.WorldStage; import forge.adventure.world.WorldSave; import forge.card.CardEdition; import forge.card.ColorSet; @@ -199,6 +200,7 @@ public class NewGameScene extends UIScene { editionIds[starterEdition.getCurrentIndex()], 0);//maybe replace with enum GamePlayerUtil.getGuiPlayer().setName(selectedName.getText()); SoundSystem.instance.changeBackgroundTrack(); + WorldStage.getInstance().setupNewGame(); Forge.switchScene(GameScene.instance()); }; Forge.setTransitionScreen(new TransitionScreen(runnable, null, false, true, "Generating World...")); diff --git a/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java b/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java index 39ec6bbfcba..65e71295760 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java +++ b/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java @@ -43,6 +43,7 @@ public class WorldStage extends GameStage implements SaveFileContent { protected ArrayList> enemies = new ArrayList<>(); private final static Float dieTimer = 20f;//todo config private Float globalTimer = 0f; + private transient boolean newGame = false; NavArrowActor navArrow; 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 public void enter() { getPlayerSprite().LoadPos(); getPlayerSprite().setMovementDirection(Vector2.Zero); - for (Actor actor : foregroundSprites.getChildren()) { - if (actor.getClass() == PointOfInterestMapSprite.class) { - PointOfInterestMapSprite point = (PointOfInterestMapSprite) actor; - if (player.collideWith(point.getBoundingRect())) { - collidingPoint = point; + if (newGame) { + newGame = false; + } + else { + for (Actor actor : foregroundSprites.getChildren()) { + if (actor.getClass() == PointOfInterestMapSprite.class) { + PointOfInterestMapSprite point = (PointOfInterestMapSprite) actor; + if (player.collideWith(point.getBoundingRect())) { + collidingPoint = point; + } } } } diff --git a/forge-gui/res/adventure/common/maps/main.tiled-project b/forge-gui/res/adventure/common/maps/main.tiled-project new file mode 100644 index 00000000000..28056787000 --- /dev/null +++ b/forge-gui/res/adventure/common/maps/main.tiled-project @@ -0,0 +1,12 @@ +{ + "automappingRulesFile": "", + "commands": [ + ], + "compatibilityVersion": 1100, + "extensionsPath": "extensions", + "folders": [ + "." + ], + "propertyTypes": [ + ] +}