diff --git a/src/de/miaurizius/jgame2d/core/UI.java b/src/de/miaurizius/jgame2d/core/UI.java index 9fdfd19..2b1d581 100644 --- a/src/de/miaurizius/jgame2d/core/UI.java +++ b/src/de/miaurizius/jgame2d/core/UI.java @@ -28,6 +28,8 @@ public class UI { public int npcSlotCol, npcSlotRow; private int transCount; private int sleepCount; + private int charIndex; + private String combinedText; // SUB-STATES public TradeState tradeState = TradeState.SELECT; @@ -296,7 +298,16 @@ public class UI { if(tradingNPC.dialogue[tradingNPC.dialogueSet][tradingNPC.dialogueIndex] != null) { currentDialogue = tradingNPC.dialogue[tradingNPC.dialogueSet][tradingNPC.dialogueIndex]; + char[] characters = tradingNPC.dialogue[tradingNPC.dialogueSet][tradingNPC.dialogueIndex].toCharArray(); + if(charIndex < characters.length) { + String s = String.valueOf(characters[charIndex]); + combinedText = combinedText + s; + currentDialogue = combinedText; + charIndex++; + } if(panel.keyH.spacePressed) { + charIndex = 0; + combinedText = ""; if(panel.gameState == GameState.DIALOGUE) { tradingNPC.dialogueIndex++; panel.keyH.spacePressed = false; diff --git a/src/de/miaurizius/jgame2d/entity/npc/OldManNPC.java b/src/de/miaurizius/jgame2d/entity/npc/OldManNPC.java index 1cdea02..1e4f8c1 100644 --- a/src/de/miaurizius/jgame2d/entity/npc/OldManNPC.java +++ b/src/de/miaurizius/jgame2d/entity/npc/OldManNPC.java @@ -20,6 +20,8 @@ public class OldManNPC extends Entity { getImage(); setDialogue(); + dialogueSet = -1; + solidArea.x = 8; solidArea.y = 16; solidAreaDefaultX = solidArea.x; @@ -50,6 +52,8 @@ public class OldManNPC extends Entity { public void speak() { super.facePlayer(); super.startDialogue(this,super.dialogueSet); + dialogueSet++; + if(dialogue[dialogueSet][0] == null) dialogueSet = 0; // super.onPath = true; }