From 5e9ca9c063ab6cdf5be5144941a1b2b3a88d0bfd Mon Sep 17 00:00:00 2001 From: GammelJAN Date: Mon, 18 Jan 2021 21:04:56 +0100 Subject: [PATCH] Quest window added --- core/src/com/trs/main/InformationQuest.java | 132 +++++++-- core/src/com/trs/main/MapContainer.java | 272 ++++++++++++++---- core/src/com/trs/main/Quest.java | 65 ++++- core/src/com/trs/main/view/QuestWindow.java | 101 +++++++ .../com/trs/main/view/screens/GameScreen.java | 15 +- .../src/com/trs/main/worldobjects/Player.java | 4 +- 6 files changed, 495 insertions(+), 94 deletions(-) create mode 100644 core/src/com/trs/main/view/QuestWindow.java diff --git a/core/src/com/trs/main/InformationQuest.java b/core/src/com/trs/main/InformationQuest.java index 2bbbf55..55a15f7 100644 --- a/core/src/com/trs/main/InformationQuest.java +++ b/core/src/com/trs/main/InformationQuest.java @@ -19,15 +19,17 @@ import com.badlogic.gdx.utils.Array; */ public class InformationQuest extends Quest{ - int[] informationNpcId; - int[] informationNpcMapId; - boolean[] talked; + private int[] informationNpcId; + private int[] informationNpcMapId; + private boolean[] talked; - int questId; + private int questId; - boolean rightOrderRequired; - public InformationQuest(int questId, String questText, int[] informationNpcId, int[] informationNpcMapId, boolean rightOrderRequired){ + private boolean rightOrderRequired; + + public InformationQuest(int questId, String questText, int[] informationNpcId, int[] informationNpcMapId, boolean rightOrderRequired, String name){ + this.questId = questId; @@ -40,14 +42,15 @@ public class InformationQuest extends Quest{ } this.rightOrderRequired = rightOrderRequired; - this.questText = questText; + setQuestName(name); + setQuestText(questText); } public void talk(MovingNpc a){ - for(int i = 0; i < talked.length; i++){ - if(informationNpcId[i] == a.id && informationNpcMapId[i] == a.mapId){ - talked[i] = true; + for(int i = 0; i < getTalked().length; i++){ + if(getInformationNpcId()[i] == a.id && getInformationNpcMapId()[i] == a.mapId){ + getTalked()[i] = true; break; } } @@ -55,23 +58,23 @@ public class InformationQuest extends Quest{ public boolean hasSpecialDialogue(int NpcId, int mapId){ - if(!finished){ - if(!rightOrderRequired){ - for(int i = 0; i < talked.length; i++){ - if(informationNpcId[i] == NpcId && informationNpcMapId[i] == mapId && !talked[i]){ + if(!isFinished()){ + if(!isRightOrderRequired()){ + for(int i = 0; i < getTalked().length; i++){ + if(getInformationNpcId()[i] == NpcId && getInformationNpcMapId()[i] == mapId && !getTalked()[i]){ return true; } } } else{ int nextToTalk = 0; - for(int i = 0; i < talked.length; i++){ - if(!talked[i]){ + for(int i = 0; i < getTalked().length; i++){ + if(!getTalked()[i]){ nextToTalk = i; break; } } - if(informationNpcId[nextToTalk] == NpcId && informationNpcMapId[nextToTalk] == mapId){ + if(getInformationNpcId()[nextToTalk] == NpcId && getInformationNpcMapId()[nextToTalk] == mapId){ return true; } } @@ -81,34 +84,107 @@ public class InformationQuest extends Quest{ } public String getDialoguePath(int NpcId, int mapId){ - return "quests/informationQuests/"+questId+"/dialogues/map"+mapId+"/npc"+NpcId+"/dialogue.txt"; + return "quests/informationQuests/"+getQuestId()+"/dialogues/map"+mapId+"/npc"+NpcId+"/dialogue.txt"; } @Override public void updateQuest() { - if(!finished){ - finished = true; - for(int i = 0; i < talked.length; i++){ - if(!talked[i]){ - finished = false; + if(!isFinished()){ + setFinished(true); + for(int i = 0; i < getTalked().length; i++){ + if(!getTalked()[i]){ + setFinished(false); break; } } } } + @Override public void print(){ - for(int i = 0; i < informationNpcId.length; i++){ - System.out.print(informationNpcId[i] + " "); - System.out.print(informationNpcMapId[i] + " "); - System.out.print(talked[i] + " "); + for(int i = 0; i < getInformationNpcId().length; i++){ + System.out.print(getInformationNpcId()[i] + " "); + System.out.print(getInformationNpcMapId()[i] + " "); + System.out.print(getTalked()[i] + " "); System.out.println(); } } @Override public boolean finished() { - return finished; + return isFinished(); + } + + /** + * @return the informationNpcId + */ + public int[] getInformationNpcId() { + return informationNpcId; + } + + /** + * @param informationNpcId the informationNpcId to set + */ + public void setInformationNpcId(int[] informationNpcId) { + this.informationNpcId = informationNpcId; + } + + /** + * @return the informationNpcMapId + */ + public int[] getInformationNpcMapId() { + return informationNpcMapId; + } + + /** + * @param informationNpcMapId the informationNpcMapId to set + */ + public void setInformationNpcMapId(int[] informationNpcMapId) { + this.informationNpcMapId = informationNpcMapId; + } + + /** + * @return the talked + */ + public boolean[] getTalked() { + return talked; + } + + /** + * @param talked the talked to set + */ + public void setTalked(boolean[] talked) { + this.talked = talked; + } + + /** + * @return the questId + */ + public int getQuestId() { + return questId; + } + + /** + * @param questId the questId to set + */ + public void setQuestId(int questId) { + this.questId = questId; } + /** + * @return the rightOrderRequired + */ + public boolean isRightOrderRequired() { + return rightOrderRequired; + } + + /** + * @param rightOrderRequired the rightOrderRequired to set + */ + public void setRightOrderRequired(boolean rightOrderRequired) { + this.rightOrderRequired = rightOrderRequired; + } + + + } diff --git a/core/src/com/trs/main/MapContainer.java b/core/src/com/trs/main/MapContainer.java index 18170c6..9caa81d 100644 --- a/core/src/com/trs/main/MapContainer.java +++ b/core/src/com/trs/main/MapContainer.java @@ -51,20 +51,20 @@ import com.badlogic.gdx.utils.viewport.FitViewport; public class MapContainer { - Stage stage; - OrthographicCamera camera; - TmxMapLoader maploader; - TiledMap map; - OrthogonalTiledMapRenderer renderer; - Door[] doors; - public Door collidingDoor; + private Stage stage; + private OrthographicCamera camera; + private TmxMapLoader maploader; + private TiledMap map; + private OrthogonalTiledMapRenderer renderer; + private Door[] doors; + private Door collidingDoor; - FightScreen fs; + private FightScreen fs; - TransitionScreen t; + private TransitionScreen t; - final int[] layersBelowPlayer = {0, 1, 2}; - final int[] layersAbovePlayer = {3, 4}; + private int[] layersBelowPlayer = {0, 1, 2}; + private int[] layersAbovePlayer = {3, 4}; // TODO: Value which shows from which door the player is coming? public MapContainer(float CAMERA_WIDTH, float CAMERA_HEIGHT, Player p, String mapString, int inDoor, int mapId) { @@ -72,7 +72,7 @@ public class MapContainer { camera = new OrthographicCamera(); camera.setToOrtho(false, CAMERA_WIDTH, CAMERA_HEIGHT); camera.update(); - stage = new Stage(new FitViewport(CAMERA_WIDTH, CAMERA_HEIGHT, camera)); + stage = new Stage(new FitViewport(CAMERA_WIDTH, CAMERA_HEIGHT, getCamera())); Gdx.input.setInputProcessor(stage); //TRANSITION SCREEN @@ -83,7 +83,7 @@ public class MapContainer { //CREATION OF TILEDMAP maploader = new TmxMapLoader(); map = maploader.load(mapString); - renderer = new OrthogonalTiledMapRenderer(map); + renderer = new OrthogonalTiledMapRenderer(getMap()); renderer.setView((OrthographicCamera)stage.getCamera()); stage.getCamera().update(); @@ -176,7 +176,7 @@ public class MapContainer { // CREATING MAP COLLISION OBJECTS ArrayList mapRectsTemp = new ArrayList<>(); - for(Actor a : stage.getActors()){ + for(Actor a : getStage().getActors()){ if(a instanceof MapCollisionObject){ mapRectsTemp.add(((MapCollisionObject)a).getR()); } @@ -191,7 +191,7 @@ public class MapContainer { ArrayList tempObjects = new ArrayList<>(); tempObjects.add(new FightPlayer(getPlayer().getX(),getPlayer().getY(), getPlayer().getPlayerSprite(), getPlayer().getStats(), 0)); - for(Actor a : stage.getActors()) { + for(Actor a : getStage().getActors()) { if(a instanceof Hostile) { if(((Hostile) a).getMovementState() > 0) { ((Hostile) a).setMovementState(2); @@ -206,47 +206,47 @@ public class MapContainer { fightObjects[i] = tempObjects.get(i); } - fs = new FightScreen(stage.getBatch(), fightObjects, rects, getPlayer().getX()+32, getPlayer().getY()+32); + setFs(new FightScreen(getStage().getBatch(), fightObjects, rects, getPlayer().getX()+32, getPlayer().getY()+32)); } else if(Main.gamestate == 2){ Main.gamestate = 0; - fs.nuke(); - fs.setState(3); + getFs().nuke(); + getFs().setState(3); } } - renderer.setView((OrthographicCamera)stage.getCamera()); + getRenderer().setView((OrthographicCamera)getStage().getCamera()); - renderer.render(layersBelowPlayer); + getRenderer().render(getLayersBelowPlayer()); if(Main.gamestate == 0 || Main.gamestate == 1) { - Actor[] old = stage.getActors().toArray(); - stage.clear(); + Actor[] old = getStage().getActors().toArray(); + getStage().clear(); for(Actor a : sort(old)){ - stage.addActor(a); + getStage().addActor(a); } - for(Actor a : stage.getActors()) { + for(Actor a : getStage().getActors()) { if(a instanceof Player) { Rectangle rect = ((Player) a).getCollisionRect(); - for(Door d : doors) { + for(Door d : getDoors()) { if(Intersector.overlaps(rect, d.rect)) { - collidingDoor = d; + setCollidingDoor(d); break; } } } } - stage.act(f); - stage.draw(); + getStage().act(f); + getStage().draw(); } if(Main.gamestate == 2){ - if(fs == null) { + if(getFs() == null) { // CREATING MAP COLLISION OBJECTS ArrayList mapRectsTemp = new ArrayList<>(); - for(Actor a : stage.getActors()){ + for(Actor a : getStage().getActors()){ if(a instanceof MapCollisionObject){ mapRectsTemp.add(((MapCollisionObject)a).getR()); } @@ -261,7 +261,7 @@ public class MapContainer { ArrayList tempObjects = new ArrayList<>(); tempObjects.add(new FightPlayer(getPlayer().getX(),getPlayer().getY(), getPlayer().getPlayerSprite(), getPlayer().getStats(), 0)); - for(Actor a : stage.getActors()) { + for(Actor a : getStage().getActors()) { if(a instanceof Hostile) { Enemy e = new Enemy(a.getX(), a.getY(), ((Hostile) a).getSprite(), ((Hostile) a).getStats(), ((Hostile) a).getId(), ((Hostile) a).isIsMelee()); tempObjects.add(e); @@ -273,11 +273,11 @@ public class MapContainer { fightObjects[i] = tempObjects.get(i); } - fs = new FightScreen(stage.getBatch(), fightObjects, rects, getPlayer().getX()+32, getPlayer().getY()+32); + setFs(new FightScreen(getStage().getBatch(), fightObjects, rects, getPlayer().getX()+32, getPlayer().getY()+32)); } - if(fs.getState() == 3){ - for(FightObject object : fs.getObjects()){ + if(getFs().getState() == 3){ + for(FightObject object : getFs().getObjects()){ if(object instanceof FightPlayer){ getPlayer().setX(object.getX()); @@ -286,15 +286,15 @@ public class MapContainer { } else{ - for(int i = stage.getActors().size-1; i >= 0; i--){ - if(stage.getActors().get(i) instanceof Hostile){ - if(((Hostile)stage.getActors().get(i)).getId() == object.getId()){ + for(int i = getStage().getActors().size-1; i >= 0; i--){ + if(getStage().getActors().get(i) instanceof Hostile){ + if(((Hostile)getStage().getActors().get(i)).getId() == object.getId()){ if(object.getStats().getHp() <= 0){ - stage.getActors().removeIndex(i); + getStage().getActors().removeIndex(i); } else{ - stage.getActors().get(i).setPosition(object.getX(), object.getY()); - ((Hostile)stage.getActors().get(i)).setStats(object.getStats()); + getStage().getActors().get(i).setPosition(object.getX(), object.getY()); + ((Hostile)getStage().getActors().get(i)).setStats(object.getStats()); } } } @@ -303,28 +303,28 @@ public class MapContainer { } } - fs = null; + setFs(null); Main.gamestate = 0; } else{ - fs.act(f); - fs.draw(); + getFs().act(f); + getFs().draw(); } } - renderer.render(layersAbovePlayer); + getRenderer().render(getLayersAbovePlayer()); - for(Actor a : stage.getActors()){ + for(Actor a : getStage().getActors()){ if(a instanceof Textbox){ - stage.getBatch().begin(); - a.draw(stage.getBatch(), f); - stage.getBatch().end(); + getStage().getBatch().begin(); + a.draw(getStage().getBatch(), f); + getStage().getBatch().end(); } } if(Main.gamestate == 1) { Textbox t = null; - for(Actor a : stage.getActors()){ + for(Actor a : getStage().getActors()){ if(a instanceof Textbox){ t = (Textbox)a; if(t.getState() == 3){ @@ -337,27 +337,27 @@ public class MapContainer { } // center camera - for(Actor a : stage.getActors()){ + for(Actor a : getStage().getActors()){ if(a instanceof Player){ - stage.getCamera().position.set((a.getX()+a.getWidth()/2), (a.getY()+a.getHeight()/2), 0); - stage.getCamera().update(); + getStage().getCamera().position.set((a.getX()+a.getWidth()/2), (a.getY()+a.getHeight()/2), 0); + getStage().getCamera().update(); break; } } - if(t != null){ - t.draw(stage.getBatch(), stage.getCamera().position.x, stage.getCamera().position.y, stage.getCamera().combined); - if(t.opacity == 0){ - t = null; + if(getT() != null){ + getT().draw(getStage().getBatch(), getStage().getCamera().position.x, getStage().getCamera().position.y, getStage().getCamera().combined); + if(getT().opacity == 0){ + setT(null); } } } public void resize(int width, int height){ - stage.getViewport().update(width, height, false); + getStage().getViewport().update(width, height, false); } public Player getPlayer(){ - for(Actor a : stage.getActors()){ + for(Actor a : getStage().getActors()){ if(a instanceof Player){ return (Player)a; } @@ -380,6 +380,162 @@ public class MapContainer { return unsorted; } + + /** + * @return the stage + */ + public Stage getStage() { + return stage; + } + + /** + * @param stage the stage to set + */ + public void setStage(Stage stage) { + this.stage = stage; + } + + /** + * @return the camera + */ + public OrthographicCamera getCamera() { + return camera; + } + + /** + * @param camera the camera to set + */ + public void setCamera(OrthographicCamera camera) { + this.camera = camera; + } + + /** + * @return the maploader + */ + public TmxMapLoader getMaploader() { + return maploader; + } + + /** + * @param maploader the maploader to set + */ + public void setMaploader(TmxMapLoader maploader) { + this.maploader = maploader; + } + + /** + * @return the map + */ + public TiledMap getMap() { + return map; + } + + /** + * @param map the map to set + */ + public void setMap(TiledMap map) { + this.map = map; + } + + /** + * @return the renderer + */ + public OrthogonalTiledMapRenderer getRenderer() { + return renderer; + } + + /** + * @param renderer the renderer to set + */ + public void setRenderer(OrthogonalTiledMapRenderer renderer) { + this.renderer = renderer; + } + + /** + * @return the doors + */ + public Door[] getDoors() { + return doors; + } + + /** + * @param doors the doors to set + */ + public void setDoors(Door[] doors) { + this.doors = doors; + } + + /** + * @return the collidingDoor + */ + public Door getCollidingDoor() { + return collidingDoor; + } + + /** + * @param collidingDoor the collidingDoor to set + */ + public void setCollidingDoor(Door collidingDoor) { + this.collidingDoor = collidingDoor; + } + + /** + * @return the fs + */ + public FightScreen getFs() { + return fs; + } + + /** + * @param fs the fs to set + */ + public void setFs(FightScreen fs) { + this.fs = fs; + } + + /** + * @return the t + */ + public TransitionScreen getT() { + return t; + } + + /** + * @param t the t to set + */ + public void setT(TransitionScreen t) { + this.t = t; + } + + /** + * @return the layersBelowPlayer + */ + public int[] getLayersBelowPlayer() { + return layersBelowPlayer; + } + + /** + * @param layersBelowPlayer the layersBelowPlayer to set + */ + public void setLayersBelowPlayer(int[] layersBelowPlayer) { + this.layersBelowPlayer = layersBelowPlayer; + } + + /** + * @return the layersAbovePlayer + */ + public int[] getLayersAbovePlayer() { + return layersAbovePlayer; + } + + /** + * @param layersAbovePlayer the layersAbovePlayer to set + */ + public void setLayersAbovePlayer(int[] layersAbovePlayer) { + this.layersAbovePlayer = layersAbovePlayer; + } + + } diff --git a/core/src/com/trs/main/Quest.java b/core/src/com/trs/main/Quest.java index ac66f42..af8aeb6 100644 --- a/core/src/com/trs/main/Quest.java +++ b/core/src/com/trs/main/Quest.java @@ -14,13 +14,72 @@ import com.badlogic.gdx.utils.Array; */ public abstract class Quest { - String questText; - boolean finished; - Quest followingQuest; + private String questName; + private String questText; + private boolean finished; + private Quest followingQuest; abstract public void updateQuest(); public abstract boolean finished(); public abstract void print(); + + /** + * @return the questName + */ + public String getQuestName() { + return questName; + } + + /** + * @param questName the questName to set + */ + public void setQuestName(String questName) { + this.questName = questName; + } + + /** + * @return the questText + */ + public String getQuestText() { + return questText; + } + + /** + * @param questText the questText to set + */ + public void setQuestText(String questText) { + this.questText = questText; + } + + /** + * @return the finished + */ + public boolean isFinished() { + return finished; + } + + /** + * @param finished the finished to set + */ + public void setFinished(boolean finished) { + this.finished = finished; + } + + /** + * @return the followingQuest + */ + public Quest getFollowingQuest() { + return followingQuest; + } + + /** + * @param followingQuest the followingQuest to set + */ + public void setFollowingQuest(Quest followingQuest) { + this.followingQuest = followingQuest; + } + + } diff --git a/core/src/com/trs/main/view/QuestWindow.java b/core/src/com/trs/main/view/QuestWindow.java new file mode 100644 index 0000000..62bc94e --- /dev/null +++ b/core/src/com/trs/main/view/QuestWindow.java @@ -0,0 +1,101 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.trs.main.view; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Input; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.GlyphLayout; +import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.badlogic.gdx.math.Rectangle; +import com.trs.main.InformationQuest; +import com.trs.main.Main; +import com.trs.main.Quest; + +/** + * + * @author janeh + */ + +public class QuestWindow { + + BitmapFont font; + ShapeRenderer renderer; + boolean visible; + int selectedQuest; + + public QuestWindow(){ + renderer = new ShapeRenderer(); + visible = true; + selectedQuest = 0; + + FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fontData/font.ttf")); + FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); + parameter.size = 21; + font = generator.generateFont(parameter); + generator.dispose(); + font.setColor(Color.WHITE); + } + + public void draw(Quest[] quests, Batch batch, float playerX, float playerY){ + if(Main.gamestate == 2) visible = false; + else visible = true; + + if(Gdx.input.isKeyJustPressed(Input.Keys.RIGHT)){ + if(selectedQuest < quests.length-1){ + selectedQuest++; + } + } + if(Gdx.input.isKeyJustPressed(Input.Keys.LEFT)){ + if(selectedQuest > 0){ + selectedQuest--; + } + } + + if(visible){ + float boxX = playerX + Main.CAMERA_WIDTH/2 - 150; + float boxY = playerY + Main.CAMERA_HEIGHT/2 - 250; + float boxWidth = 140; + float boxHeight = 240; + + renderer.setProjectionMatrix(batch.getProjectionMatrix()); + Gdx.gl.glEnable(GL20.GL_BLEND); + Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); + renderer.begin(ShapeRenderer.ShapeType.Filled); + renderer.setColor(0.1f, 0.1f, 0.1f, 0.5f); + renderer.rect(boxX, boxY, boxWidth, boxHeight); + renderer.end(); + batch.begin(); + font.draw(batch, quests[selectedQuest].getQuestName(), boxX + 10, boxY + boxHeight - getTextHeight("A") - 10); + if(quests[selectedQuest] instanceof InformationQuest){ + InformationQuest quest = (InformationQuest)quests[selectedQuest]; + font.getData().setScale(0.8f); + for(int i = 0; i < quest.getInformationNpcId().length; i++){ + font.draw(batch, "MAP: " + quest.getInformationNpcMapId()[i] + " NPC: " + + quest.getInformationNpcId()[i], boxX + 10, boxY + boxHeight - getTextHeight("A") - 10 - ((i+1) * (getTextHeight("A") + 10))); + } + font.getData().setScale(1f); + } + batch.end(); + Gdx.gl.glDisable(GL20.GL_BLEND); + } + } + + public float getTextWidth(String text){ + GlyphLayout glyphLayout = new GlyphLayout(); + glyphLayout.setText(font,text); + return glyphLayout.width; + } + public float getTextHeight(String text){ + GlyphLayout glyphLayout = new GlyphLayout(); + glyphLayout.setText(font,text); + return glyphLayout.height; + } +} diff --git a/core/src/com/trs/main/view/screens/GameScreen.java b/core/src/com/trs/main/view/screens/GameScreen.java index 7ef6347..46ea7df 100644 --- a/core/src/com/trs/main/view/screens/GameScreen.java +++ b/core/src/com/trs/main/view/screens/GameScreen.java @@ -6,8 +6,11 @@ package com.trs.main.view.screens; import com.badlogic.gdx.Game; +import com.badlogic.gdx.math.Rectangle; import com.trs.main.Main; import com.trs.main.MapContainer; +import com.trs.main.Quest; +import com.trs.main.view.QuestWindow; import com.trs.main.worldobjects.Player; /** @@ -17,10 +20,12 @@ import com.trs.main.worldobjects.Player; public class GameScreen extends AbstractScreen{ MapContainer map; + QuestWindow qw; public GameScreen(Game game, float CAMERA_WIDTH, float CAMERA_HEIGHT) { super(game, CAMERA_WIDTH, CAMERA_HEIGHT); map = new MapContainer(CAMERA_WIDTH, CAMERA_HEIGHT, new Player(200, 200), "tiledmapData/maps/map1.tmx", 2, 1); + qw = new QuestWindow(); } public void loadNewMap(int map, int doorId){ @@ -36,9 +41,13 @@ public class GameScreen extends AbstractScreen{ @Override public void render(float f) { map.render(f); - - if(map.collidingDoor != null) { - loadNewMap(map.collidingDoor.destinationMap, map.collidingDoor.destinationDoor); + Quest[] rects = new Quest[map.getPlayer().getQuests().size()]; + for(int i = 0; i< map.getPlayer().getQuests().size(); i++){ + rects[i] = map.getPlayer().getQuests().get(i); + } + qw.draw(rects, map.getStage().getBatch(), map.getPlayer().getX()+32, map.getPlayer().getY()+32); + if(map.getCollidingDoor() != null) { + loadNewMap(map.getCollidingDoor().destinationMap, map.getCollidingDoor().destinationDoor); } } diff --git a/core/src/com/trs/main/worldobjects/Player.java b/core/src/com/trs/main/worldobjects/Player.java index 4d9b8e8..5e56c7e 100644 --- a/core/src/com/trs/main/worldobjects/Player.java +++ b/core/src/com/trs/main/worldobjects/Player.java @@ -59,8 +59,8 @@ public class Player extends Actor{ //TEST QUESTS int[] n = {1, 1}; int[] m = {1, 0}; - quests.add(new InformationQuest(0, "Sprich mit Folgenden NPCs: (Id, mapId, schonGereded?) !Reihenfolge wichtig!", m, n, true)); - quests.add(new InformationQuest(1, "jajajaj nicenicenice", m, n, false)); + quests.add(new InformationQuest(0, "Sprich mit Folgenden NPCs: (Id, mapId, schonGereded?) !Reihenfolge wichtig!", m, n, true, "gute Quest")); + quests.add(new InformationQuest(1, "jajajaj nicenicenice", m, n, false, "jojo")); } @Override