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;
|
public int npcSlotCol, npcSlotRow;
|
||||||
private int transCount;
|
private int transCount;
|
||||||
private int sleepCount;
|
private int sleepCount;
|
||||||
|
private int charIndex;
|
||||||
|
private String combinedText;
|
||||||
|
|
||||||
// SUB-STATES
|
// SUB-STATES
|
||||||
public TradeState tradeState = TradeState.SELECT;
|
public TradeState tradeState = TradeState.SELECT;
|
||||||
@@ -296,7 +298,16 @@ public class UI {
|
|||||||
|
|
||||||
if(tradingNPC.dialogue[tradingNPC.dialogueSet][tradingNPC.dialogueIndex] != null) {
|
if(tradingNPC.dialogue[tradingNPC.dialogueSet][tradingNPC.dialogueIndex] != null) {
|
||||||
currentDialogue = tradingNPC.dialogue[tradingNPC.dialogueSet][tradingNPC.dialogueIndex];
|
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) {
|
if(panel.keyH.spacePressed) {
|
||||||
|
charIndex = 0;
|
||||||
|
combinedText = "";
|
||||||
if(panel.gameState == GameState.DIALOGUE) {
|
if(panel.gameState == GameState.DIALOGUE) {
|
||||||
tradingNPC.dialogueIndex++;
|
tradingNPC.dialogueIndex++;
|
||||||
panel.keyH.spacePressed = false;
|
panel.keyH.spacePressed = false;
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ public class OldManNPC extends Entity {
|
|||||||
getImage();
|
getImage();
|
||||||
setDialogue();
|
setDialogue();
|
||||||
|
|
||||||
|
dialogueSet = -1;
|
||||||
|
|
||||||
solidArea.x = 8;
|
solidArea.x = 8;
|
||||||
solidArea.y = 16;
|
solidArea.y = 16;
|
||||||
solidAreaDefaultX = solidArea.x;
|
solidAreaDefaultX = solidArea.x;
|
||||||
@@ -50,6 +52,8 @@ public class OldManNPC extends Entity {
|
|||||||
public void speak() {
|
public void speak() {
|
||||||
super.facePlayer();
|
super.facePlayer();
|
||||||
super.startDialogue(this,super.dialogueSet);
|
super.startDialogue(this,super.dialogueSet);
|
||||||
|
dialogueSet++;
|
||||||
|
if(dialogue[dialogueSet][0] == null) dialogueSet = 0;
|
||||||
// super.onPath = true;
|
// super.onPath = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user