diff --git a/core/assets/mapData/map1/interactionObjects/3/dialogue.txt b/core/assets/mapData/map1/interactionObjects/3/dialogue.txt new file mode 100644 index 0000000..622898e --- /dev/null +++ b/core/assets/mapData/map1/interactionObjects/3/dialogue.txt @@ -0,0 +1,2 @@ +Inn +#-1 \ No newline at end of file diff --git a/core/assets/mapData/map6/interactionObjects/1/dialogue.txt b/core/assets/mapData/map6/interactionObjects/1/dialogue.txt new file mode 100644 index 0000000..67d7d6b --- /dev/null +++ b/core/assets/mapData/map6/interactionObjects/1/dialogue.txt @@ -0,0 +1,2 @@ +Hier kann man später schlafen +...#-1 \ No newline at end of file diff --git a/core/assets/mapData/map6/interactionObjects/2/dialogue.txt b/core/assets/mapData/map6/interactionObjects/2/dialogue.txt new file mode 100644 index 0000000..67d7d6b --- /dev/null +++ b/core/assets/mapData/map6/interactionObjects/2/dialogue.txt @@ -0,0 +1,2 @@ +Hier kann man später schlafen +...#-1 \ No newline at end of file diff --git a/core/assets/mapData/map6/npcs/0/dialogue.txt b/core/assets/mapData/map6/npcs/0/dialogue.txt new file mode 100644 index 0000000..090c257 --- /dev/null +++ b/core/assets/mapData/map6/npcs/0/dialogue.txt @@ -0,0 +1,3 @@ +Ich bin der Besitzer dieses Inns! Möchtest du hier schlafen? +Ja, gerne!#-1 +Nein, gerade nicht.#-1 \ No newline at end of file diff --git a/core/assets/tiledmapData/maps/map1.tmx b/core/assets/tiledmapData/maps/map1.tmx index d8f14a0..c92c6e8 100644 --- a/core/assets/tiledmapData/maps/map1.tmx +++ b/core/assets/tiledmapData/maps/map1.tmx @@ -1,5 +1,5 @@ - + @@ -125,7 +125,7 @@ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3037,3038,3037,3038,3037,3038,3962,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,6300,6301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3962,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,6316,6317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3803,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,7032,0,0,0,0,0,0,0,0,0,0,0,6451,6454,0,6487,0,0,3962,0,0,0,3962,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,7032,0,0,0,0,0,7437,0,0,0,0,0,6451,6454,0,6487,0,0,3962,0,0,0,3962,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2195,2196,6467,6470,6520,6503,2255,0,0,3803,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2077,2078,2256,2137,0,0,2078,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2256,2138,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -278,7 +278,7 @@ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - + @@ -365,7 +365,7 @@ - + @@ -418,8 +418,14 @@ + + + + + + - + @@ -433,7 +439,7 @@ - + diff --git a/core/assets/tiledmapData/maps/map2.tmx b/core/assets/tiledmapData/maps/map2.tmx index 4d4c574..1aa559d 100644 --- a/core/assets/tiledmapData/maps/map2.tmx +++ b/core/assets/tiledmapData/maps/map2.tmx @@ -1,11 +1,11 @@ - + - + -1803,1801,1801,1801,1801,1801,1801,1801,1801,983,0,1804, +0,0,0,0,0,0,0,0,0,0,0,0, 983,983,983,983,983,983,983,983,983,983,983,983, 983,983,983,983,983,983,983,983,983,983,983,983, 983,983,983,983,983,983,983,983,983,983,983,983, @@ -19,8 +19,8 @@ -0,1830,1831,1832,1833,1834,0,0,0,0,0,0, -0,1862,1863,1864,1865,1866,0,0,0,0,0,0, +2824,2824,2824,2824,2824,2824,2824,2824,2824,2824,2824,2824, +2856,2856,2856,2856,2856,2856,2856,2856,2856,2856,2856,2856, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, @@ -33,44 +33,44 @@ -0,2501,0,0,0,0,0,2531,2532,0,0,0, -0,0,0,0,0,0,0,2563,2564,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,1996,1996,0, +0,1843,1844,1845,1846,0,0,0,0,0,0,1848, +0,1875,1876,1877,1878,0,0,0,0,0,0,1976, +0,0,0,0,0,0,0,0,0,2008,2008,2008, 0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2021,2022,2023,0,0,0,0,0,0,0, -0,0,2053,2054,2055,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2691,2692,2693,0, -0,0,0,0,0,0,0,0,2723,2724,2725,0, +0,0,2033,2034,2035,0,0,0,0,0,0,0, +0,0,2065,2066,2067,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2703,2704,2705,0, +0,0,0,0,0,0,0,0,2735,2736,2737,0, 0,0,0,0,0,0,0,0,0,0,0,0 -0,0,0,0,0,0,0,0,0,1801,1801,0, -1805,0,0,0,0,0,0,0,0,1837,1869,1802, -1805,0,0,0,0,0,0,0,0,1964,1964,1802, -1805,0,0,0,0,0,0,0,0,0,0,1802, -1805,0,1989,2317,1991,0,0,0,0,0,0,0, -1805,0,0,0,0,0,0,0,0,0,0,0, -1805,0,0,0,0,0,0,0,2659,2660,2661,1802, -1805,0,0,0,0,0,0,0,0,0,0,1802, -1805,0,0,0,0,0,0,0,0,0,0,1802, -1807,1806,1806,1806,1806,0,0,1806,1806,1806,1806,1808 - - - - -0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,1849,1881,0, +0,0,0,0,0,0,0,0,0,1976,1976,0, 0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2001,2329,2003,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,1990,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2671,2672,2673,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0 + + + + +1814,1806,1806,1806,1806,1806,1806,1806,1806,1806,1806,1813, +1802,0,0,0,0,0,0,0,0,0,0,1805, +1802,0,0,0,0,0,0,0,0,0,0,1805, +1802,0,0,0,0,0,0,0,0,0,0,1817, +1802,0,0,2002,0,0,0,0,0,0,0,0, +1802,0,0,0,0,0,0,0,0,0,0,0, +1802,0,0,0,0,0,0,0,0,0,0,1819, +1802,0,0,0,0,0,0,0,0,0,0,1805, +1802,0,0,0,0,0,0,0,0,0,0,1805, +1810,1801,1801,1801,1811,0,0,1812,1801,1801,1801,1809 @@ -78,15 +78,14 @@ - - - + - + + @@ -115,7 +114,7 @@ - + diff --git a/core/assets/tiledmapData/maps/map6.tmx b/core/assets/tiledmapData/maps/map6.tmx new file mode 100644 index 0000000..3b5d8de --- /dev/null +++ b/core/assets/tiledmapData/maps/map6.tmx @@ -0,0 +1,129 @@ + + + + + + + + +983,983,983,983,983,983,983,983,983,983,983,0,0,983,983,983,983,983,983,983, +983,983,983,983,983,983,983,983,983,983,983,0,983,983,983,983,983,983,983,983, +983,983,983,983,983,983,983,983,983,983,983,0,983,983,983,983,983,983,983,983, +983,983,983,983,983,983,983,983,983,983,983,0,983,983,983,983,983,983,983,983, +983,983,983,983,983,983,983,983,983,983,983,0,983,983,2827,2827,2827,2827,983,983, +983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983, +983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983, +983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983, +983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983, +983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983 + + + + +2824,2824,2824,2824,2824,2824,2824,2824,2824,2824,2824,0,2824,2824,2824,2827,2827,2824,2824,2824, +2856,2856,2856,2856,2856,2856,2856,2856,2856,2856,2856,0,2856,2856,2856,2827,2827,2856,2856,2856, +0,0,0,0,0,0,0,0,0,0,0,2827,0,0,0,2827,2827,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2827,2827,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1806,1808,1807,1806,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2825,2824,2824,2888,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2857,2856,2856,2920,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,3788,0,0,2827,2827,2454,2455,2456,1820,1819,2454,2455,2456, +0,0,0,0,0,1904,0,3804,0,0,2827,2827,2486,2487,2488,1802,1805,2486,2487,2488, +0,0,0,0,0,1901,0,0,0,0,2827,0,2518,2519,2520,1802,1805,2518,2519,2520, +0,0,0,0,0,1901,0,0,0,0,2827,2827,0,0,0,1802,1805,0,0,0, +0,0,0,0,0,1901,2362,0,0,0,2827,2827,0,0,1814,0,0,1813,0,0, +0,0,0,0,0,1933,1838,1841,1999,1840,2825,2888,0,0,0,2677,2678,2679,0,0, +0,0,0,0,0,1872,1874,1873,0,1874,2857,2920,0,0,0,2709,2710,2711,0,0, +2637,2638,2639,0,0,0,0,0,0,0,0,0,0,0,0,2741,2742,2743,0,0, +2072,2072,2073,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2640,2641,2642,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,1820,1819,1806,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1802,1805,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1802,1805,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1802,1805,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1810,1809,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1816,1806,2513,1815,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +1814,1806,1806,1806,1806,1806,1806,1806,1806,1806,0,0,0,1806,1806,0,0,1806,1806,1813, +1802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1805, +1802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1805, +1818,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1805, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1805, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1806,0,0,1805, +1820,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1805, +1802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1805, +1802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1805, +1810,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1801,1809 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/assets/tiledmapData/pngs/furniture.png b/core/assets/tiledmapData/pngs/furniture.png index fd43fda..d123184 100644 Binary files a/core/assets/tiledmapData/pngs/furniture.png and b/core/assets/tiledmapData/pngs/furniture.png differ diff --git a/core/assets/tiledmapData/pngs/worldBorder.png b/core/assets/tiledmapData/pngs/worldBorder.png index 7e77447..8a97822 100644 Binary files a/core/assets/tiledmapData/pngs/worldBorder.png and b/core/assets/tiledmapData/pngs/worldBorder.png differ diff --git a/core/assets/tiledmapData/tilesets/worldborder.tsx b/core/assets/tiledmapData/tilesets/worldborder.tsx index e593730..f7329ae 100644 --- a/core/assets/tiledmapData/tilesets/worldborder.tsx +++ b/core/assets/tiledmapData/tilesets/worldborder.tsx @@ -1,4 +1,4 @@ - - + + diff --git a/core/src/com/trs/main/Main.java b/core/src/com/trs/main/Main.java index 3dc000c..f9c5305 100644 --- a/core/src/com/trs/main/Main.java +++ b/core/src/com/trs/main/Main.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.trs.main.view.UI.DebugUI; import com.trs.main.view.screens.GameScreen; import com.trs.main.view.screens.InventoryScreen; import com.trs.main.view.screens.MenuScreen; @@ -28,6 +29,7 @@ public class Main extends Game{ MenuScreen menuScreen; GameScreen gameScreen; InventoryScreen inventoryScreen; + diff --git a/core/src/com/trs/main/fightscreen/FightObject.java b/core/src/com/trs/main/fightscreen/FightObject.java index 1c2c888..62b5c55 100644 --- a/core/src/com/trs/main/fightscreen/FightObject.java +++ b/core/src/com/trs/main/fightscreen/FightObject.java @@ -18,13 +18,13 @@ public abstract class FightObject { private int state = 0; public FightObject(float x, float y, AnimatedSprite sprite, Stats stats, int id) { - this.sprite = sprite; - this.stats = stats; - this.id = id; - this.x = x; - this.y = y; - maxMoves = 2; - moves = maxMoves; + this.sprite = sprite; + this.stats = stats; + this.id = id; + this.x = x; + this.y = y; + maxMoves = 2; + moves = maxMoves; } void setX(float x) { diff --git a/core/src/com/trs/main/fightscreen/FightScreen.java b/core/src/com/trs/main/fightscreen/FightScreen.java index eee300f..1041660 100644 --- a/core/src/com/trs/main/fightscreen/FightScreen.java +++ b/core/src/com/trs/main/fightscreen/FightScreen.java @@ -41,9 +41,9 @@ public class FightScreen { gridPos.y = (float)(Math.ceil((double)(camY-Main.CAMERA_HEIGHT/2)/32.0) * 32.0) + 32; - // SORTING OBJECTS BY INITIATIVE STAT + // SORTING OBJECTS BY INITIATIVE STAT - for(int j = 0; j < objects.length-1; j++){ + for(int j = 0; j < objects.length-1; j++){ for(int i = objects.length-1; i >= 0; i--){ if(i > 0 && objects[i].getStats().getInit() > objects[i-1].getStats().getInit()){ FightObject temp = objects[i-1]; diff --git a/core/src/com/trs/main/view/UI/DebugUI.java b/core/src/com/trs/main/view/UI/DebugUI.java new file mode 100644 index 0000000..0968e95 --- /dev/null +++ b/core/src/com/trs/main/view/UI/DebugUI.java @@ -0,0 +1,91 @@ +/* + * 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.UI; + +import com.badlogic.gdx.Gdx; +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.SpriteBatch; +import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.trs.main.Main; +import java.util.ArrayList; + +/** + * + * @author janeh + */ +public class DebugUI { + + private BitmapFont font; + private ShapeRenderer shapeRenderer = new ShapeRenderer(); + Batch batch = new SpriteBatch(); + + public DebugUI() { + 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.BLACK); + } + + + + + public void draw(int entityAmount){ + float textHeight = getTextHeight(font, "A")+5; + + ArrayList strings = new ArrayList<>(); + strings.add("DeltaTime: "+Gdx.graphics.getDeltaTime()); + strings.add("FPS: "+(int)(1/Gdx.graphics.getDeltaTime())); + strings.add("Actors: "+entityAmount); + + float width = 0; + for(String s : strings){ + float textWidth = getTextWidth(font, s); + if(textWidth > width){ + width = textWidth; + } + } + + Gdx.gl.glEnable(GL20.GL_BLEND); + Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); + shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); + shapeRenderer.setColor(0.1f, 0.1f, 0.1f, 0.8f); + shapeRenderer.rect(5, Gdx.graphics.getHeight() - (strings.size()+1)*textHeight-5, width+10,(strings.size()+1)*textHeight); + shapeRenderer.end(); + Gdx.gl.glDisable(GL20.GL_BLEND); + + + batch.begin(); + // DRAW FRAMETIME + font.setColor(Color.RED); + + for(int i = 1; i < strings.size()+1; i++){ + font.draw(batch, strings.get(i-1), 10,Gdx.graphics.getHeight()-textHeight*i); + } + + + batch.end(); + + + + } + public float getTextWidth(BitmapFont font, String text){ + GlyphLayout glyphLayout = new GlyphLayout(); + glyphLayout.setText(font,text); + return glyphLayout.width; + } + public float getTextHeight(BitmapFont font,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 b1083e3..99b9035 100644 --- a/core/src/com/trs/main/view/screens/GameScreen.java +++ b/core/src/com/trs/main/view/screens/GameScreen.java @@ -14,6 +14,7 @@ import com.trs.main.Main; import com.trs.main.MapContainer; import com.trs.main.Quest; import com.trs.main.fightscreen.FightDialogue; +import com.trs.main.view.UI.DebugUI; import com.trs.main.view.UI.QuestWindow; import com.trs.main.view.UI.Textbox; import com.trs.main.worldobjects.Player; @@ -26,6 +27,7 @@ public class GameScreen extends AbstractScreen{ MapContainer map; QuestWindow qw; + DebugUI debugUI = new DebugUI(); public GameScreen(Game game, float CAMERA_WIDTH, float CAMERA_HEIGHT) { super(game, CAMERA_WIDTH, CAMERA_HEIGHT); @@ -76,6 +78,7 @@ public class GameScreen extends AbstractScreen{ if(Gdx.input.isKeyPressed(Input.Keys.DOWN)){ map.getStage().getCamera().translate(0, -10, 0); } + debugUI.draw(map.getStage().getActors().size); } else{ Player a = map.getPlayer(); diff --git a/core/src/com/trs/main/worldobjects/Hostile.java b/core/src/com/trs/main/worldobjects/Hostile.java index 749040d..d35be8b 100644 --- a/core/src/com/trs/main/worldobjects/Hostile.java +++ b/core/src/com/trs/main/worldobjects/Hostile.java @@ -203,19 +203,35 @@ public class Hostile extends Actor { shapeRenderer.circle(POI.x, POI.y, 5); } shapeRenderer.end(); + shapeRenderer.begin(ShapeRenderer.ShapeType.Line); - shapeRenderer.setColor(Color.GREEN); - shapeRenderer.line(getX()+ sprite.getSprite().getWidth()/2, getY()+sprite.getSprite().getHeight()/2, POI.x, POI.y); + shapeRenderer.setColor(Color.ORANGE); + shapeRenderer.line(getCenterX(), getCenterY(), POI.x, POI.y); shapeRenderer.setColor(Color.YELLOW); - shapeRenderer.circle(getX()+ sprite.getSprite().getWidth()/2, getY()+sprite.getSprite().getHeight()/2, getAttentionCircle().radius); + shapeRenderer.circle(getCenterX(), getCenterY(), getAttentionCircle().radius); shapeRenderer.setColor(Color.RED); - shapeRenderer.circle(getX()+ sprite.getSprite().getWidth()/2, getY()+sprite.getSprite().getHeight()/2, getAttackCircle().radius); - shapeRenderer.setColor(Color.WHITE); + shapeRenderer.circle(getCenterX(), getCenterY(), getAttackCircle().radius); shapeRenderer.rect(getX(), getY(), sprite.getSprite().getWidth(), sprite.getSprite().getHeight()); + + shapeRenderer.setColor(Color.WHITE); + shapeRenderer.rect(area.x, area.y, area.width, area.height); + shapeRenderer.setColor(Color.GREEN); + shapeRenderer.line(getCenterX(), getCenterY(), area.x, area.y); + shapeRenderer.line(getCenterX(), getCenterY(), area.x, area.y + area.height); + shapeRenderer.line(getCenterX(), getCenterY(), area.x + area.width, area.y); + shapeRenderer.line(getCenterX(), getCenterY(), area.x + area.width, area.y+area.height); + shapeRenderer.end(); batch.begin(); } + + public float getCenterX(){ + return getX()+ sprite.getSprite().getWidth()/2; + } + public float getCenterY(){ + return getY()+sprite.getSprite().getHeight()/2; + } @Override protected void positionChanged() { diff --git a/core/src/com/trs/main/worldobjects/InteractionObject.java b/core/src/com/trs/main/worldobjects/InteractionObject.java index 5d15593..ac6190e 100644 --- a/core/src/com/trs/main/worldobjects/InteractionObject.java +++ b/core/src/com/trs/main/worldobjects/InteractionObject.java @@ -88,6 +88,8 @@ public class InteractionObject extends Actor{ if(newDialogue == null) { currentlyTalking = false; parser = new DialogueParser(dialoguePath); + Dialogue nextDialogue = parser.firstDialogue(); + this.t = new Textbox(nextDialogue.question, nextDialogue.ans); } else { ((Textbox)a).update(newDialogue); diff --git a/core/src/com/trs/main/worldobjects/MovingNpc.java b/core/src/com/trs/main/worldobjects/MovingNpc.java index c356da7..3ad891d 100644 --- a/core/src/com/trs/main/worldobjects/MovingNpc.java +++ b/core/src/com/trs/main/worldobjects/MovingNpc.java @@ -126,6 +126,8 @@ public class MovingNpc extends Actor{ if(newDialogue == null) { currentlyTalking = false; parser = new DialogueParser(dialoguePath); + Dialogue nextDialogue = parser.firstDialogue(); + this.t = new Textbox(nextDialogue.question, nextDialogue.ans); } else { ((Textbox)a).update(newDialogue); @@ -265,16 +267,33 @@ public class MovingNpc extends Actor{ shapeRenderer.end(); shapeRenderer.begin(ShapeRenderer.ShapeType.Line); if(POI != null){ - shapeRenderer.setColor(Color.GREEN); - shapeRenderer.line(getX()+ animatedSprite.getSprite().getWidth()/2, getY()+animatedSprite.getSprite().getHeight()/2, POI.x, POI.y); + shapeRenderer.setColor(Color.ORANGE); + shapeRenderer.line(getCenterX(), getCenterY(), POI.x, POI.y); } shapeRenderer.setColor(Color.WHITE); shapeRenderer.rect(getX(), getY(), animatedSprite.getSprite().getWidth(), animatedSprite.getSprite().getHeight()); + + shapeRenderer.setColor(Color.WHITE); + shapeRenderer.rect(area.x, area.y, area.width, area.height); + shapeRenderer.setColor(Color.GREEN); + shapeRenderer.line(getCenterX(), getCenterY(), area.x, area.y); + shapeRenderer.line(getCenterX(), getCenterY(), area.x, area.y + area.height); + shapeRenderer.line(getCenterX(), getCenterY(), area.x + area.width, area.y); + shapeRenderer.line(getCenterX(), getCenterY(), area.x + area.width, area.y+area.height); + shapeRenderer.end(); batch.begin(); } + + public float getCenterX(){ + return getX()+ animatedSprite.getSprite().getWidth()/2; + } + public float getCenterY(){ + return getY()+animatedSprite.getSprite().getHeight()/2; + } + public boolean collidingWithMapCollisionObject(){ for(Actor a : getStage().getActors()){ if(a instanceof MapCollisionObject){