-
Notifications
You must be signed in to change notification settings - Fork 11
/
Dialogue.java
122 lines (97 loc) · 2.75 KB
/
Dialogue.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import java.util.*;
/**
* Write a description of class Dialogue here.
* http://stackoverflow.com/questions/372915/game-logic-in-xml-files
* https://github.com/scottbw/dialoguejs
* http://stackoverflow.com/questions/1840154/rpg-dialogue-engine-structure
* http://gamedev.stackexchange.com/questions/33714/should-npc-dialog-be-stored-in-xml-or-in-a-script
* http://www.gamedev.net/topic/596071-best-technique-to-write-multiple-choice-dialogue/
* @author (your name)
* @version (a version number or a date)
*
*
*
*/
public class Dialogue
{
private String message = "";
private String feedbackMessage = "";
private PlayerCharacter player;
private Character interlocutor;
private String id = "";
private String scriptFile = "";
private String soundToPlay = "";
private String nextDialogue = "";
private boolean closed;
private List<Choice> choices = new ArrayList<Choice>();
public Dialogue() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getScriptFile() {
return scriptFile;
}
public void setScriptFile(String scriptFile) {
this.scriptFile = scriptFile;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getFeedbackMessage() {
return feedbackMessage;
}
public void setFeedbackMessage(String feedbackMessage) {
this.feedbackMessage = feedbackMessage;
}
public String getNextDialogue() {
return nextDialogue;
}
public void setNextDialogue(String nextDialogue) {
this.nextDialogue = nextDialogue;
}
public boolean hasNextDialogue() {
return !nextDialogue.isEmpty();
}
public Character getInterlocutor() {
return interlocutor;
}
public void setInterlocutor(Character interlocutor) {
this.interlocutor = interlocutor;
}
public Character getPlayer() {
return player;
}
public void setPlayer(PlayerCharacter player) {
this.player = player;
}
public String getSoundToPlay() {
return soundToPlay;
}
public void setSoundToPlay(String soundToPlay) {
this.soundToPlay = soundToPlay;
}
public void open() {
DialogueManager.getInstance().openDialogue(id, player, interlocutor);
}
public void close() {
closed = true;
}
public boolean isClosed() {
return closed;
}
public void addChoice(Choice choice) {
choice.setId(choices.size());
choice.setDialogue(this);
choices.add(choice);
}
public List<Choice> getChoices() {
return choices;
}
}