From e8c909de67209a726be83cbbaa8f12161cd093f3 Mon Sep 17 00:00:00 2001 From: musilto9 Date: Thu, 12 Mar 2020 23:19:24 +0100 Subject: [PATCH] added option to skip text-loading --- src/main/java/Dialog.java | 17 ++++++++++++++++- src/main/java/InteractionCell.java | 6 ++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/Dialog.java b/src/main/java/Dialog.java index 58faff4..87670a5 100644 --- a/src/main/java/Dialog.java +++ b/src/main/java/Dialog.java @@ -10,6 +10,7 @@ public class Dialog { private Timer timer; private DialogBar dialogBar; private int charNumber; + private boolean timerIsRunning; Dialog(String text, DialogBar dialogBar) { this.text = text; @@ -69,16 +70,26 @@ public class Dialog { public void showText() { charNumber = 0; dialogBar.setVisible(true); - timer = new Timer(17, new ActionListener() { + timer = new Timer(20, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { showByChar(); dialogBar.repaint(); + timerIsRunning = timer.isRunning(); } }); timer.start(); } + public void skipShowText() { + timer.stop(); + timerIsRunning = false; + dialogBar.remove(0); + dialogBar.repaint(); + dialogBar.add(prepareDialogBar(text)); + dialogBar.repaint(); + } + public void hideText() { dialogBar.setVisible(false); dialogBar.repaint(); @@ -92,5 +103,9 @@ public class Dialog { public void setImageDialog(ImageDialog imageDialog) { this.imageDialog = imageDialog; } + + public boolean getTimerIsRunning() { + return timerIsRunning; + } } diff --git a/src/main/java/InteractionCell.java b/src/main/java/InteractionCell.java index 257198c..29726ad 100644 --- a/src/main/java/InteractionCell.java +++ b/src/main/java/InteractionCell.java @@ -34,7 +34,7 @@ public class InteractionCell extends Cell { } public void readNextLine() { - if (scanner.hasNextLine()) { + if (scanner.hasNextLine() && !dialog.getTimerIsRunning()) { String data = scanner.nextLine(); if (data.equals("")) endEvent(); @@ -47,9 +47,11 @@ public class InteractionCell extends Cell { dialog.hideText(); dialog.setText(data); dialog.showText(); - dialog.prepareDialogBar(data); } } + else { + dialog.skipShowText(); + } } public void endEvent() {