implement dialogue progression and text display for NPC interactions
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user