Crossfire JXClient, Trunk
src
model
src
main
java
com
realtime
crossfire
jxclient
quests
Quest.java
Go to the documentation of this file.
1
/*
2
* This file is part of JXClient, the Fullscreen Java Crossfire Client.
3
*
4
* JXClient is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 2 of the License, or
7
* (at your option) any later version.
8
*
9
* JXClient is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with JXClient; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
*
18
* Copyright (C) 2005-2008 Yann Chachkoff
19
* Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20
* Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21
*/
22
23
package
com.realtime.crossfire.jxclient.quests;
24
25
import
com
.
realtime
.
crossfire
.
jxclient
.
util
.
EventListenerList2
;
26
import
org.jetbrains.annotations.NotNull;
27
32
public
class
Quest
{
33
37
@NotNull
38
private
final
EventListenerList2<QuestListener>
listeners
=
new
EventListenerList2<>
();
39
43
private
final
int
code
;
44
48
@NotNull
49
private
final
String
title
;
50
54
private
final
int
face
;
55
59
private
final
boolean
replay
;
60
64
private
final
int
parent
;
65
69
private
boolean
end
;
70
74
@NotNull
75
private
String
step
;
76
88
public
Quest
(
final
int
code
, @NotNull
final
String
title
,
final
int
face
,
final
boolean
replay
,
final
int
parent
,
final
boolean
end
, @NotNull
final
String
step
) {
89
this.code =
code
;
90
this.title =
title
;
91
this.face =
face
;
92
this.replay =
replay
;
93
this.parent =
parent
;
94
this.end =
end
;
95
this.step =
step
;
96
}
97
102
public
int
getCode
() {
103
return
code
;
104
}
105
110
@NotNull
111
public
String
getTitle
() {
112
return
title
;
113
}
114
119
public
int
getFace
() {
120
return
face
;
121
}
122
123
public
boolean
isCompleted
() {
124
return
end
;
125
}
126
127
public
boolean
replayable
() {
128
return
replay
;
129
}
130
136
public
void
setStep
(
final
boolean
end
, @NotNull
final
String
step
) {
137
boolean
changed =
false
;
138
139
if
(this.end !=
end
) {
140
this.end =
end
;
141
changed =
true
;
142
}
143
144
if
(this.step.compareTo(
step
) != 0) {
145
this.step =
step
;
146
changed =
true
;
147
}
148
149
if
(changed) {
150
fireChanged
();
151
}
152
}
153
158
@NotNull
159
public
String
getTooltipText
() {
160
final
StringBuilder sb =
new
StringBuilder(
"<b>"
);
161
sb.append(
title
);
162
sb.append(
"</b>"
);
163
if
(
end
) {
164
sb.append(
" (finished"
);
165
if
(
replay
) {
166
sb.append(
", can be replayed"
);
167
}
168
sb.append(
")"
);
169
}
170
sb.append(
"<br>"
);
171
sb.append(
step
);
172
return
sb.toString();
173
}
174
178
private
void
fireChanged
() {
179
for
(
QuestListener
listener :
listeners
) {
180
listener.questChanged();
181
}
182
}
183
188
public
void
addQuestListener
(@NotNull
final
QuestListener
listener) {
189
listeners
.add(listener);
190
}
191
196
public
void
removeQuestListener
(@NotNull
final
QuestListener
listener) {
197
listeners
.remove(listener);
198
}
199
200
}
com.realtime.crossfire.jxclient.quests.Quest.getCode
int getCode()
Definition:
Quest.java:102
com.realtime.crossfire.jxclient.quests.Quest.replayable
boolean replayable()
Definition:
Quest.java:127
com.realtime.crossfire.jxclient
com.realtime.crossfire.jxclient.quests.Quest.Quest
Quest(final int code, @NotNull final String title, final int face, final boolean replay, final int parent, final boolean end, @NotNull final String step)
Definition:
Quest.java:88
com.realtime.crossfire.jxclient.quests.Quest.getTooltipText
String getTooltipText()
Definition:
Quest.java:159
com.realtime.crossfire.jxclient.quests.QuestListener
Definition:
QuestListener.java:31
com.realtime.crossfire.jxclient.quests.Quest.face
final int face
Definition:
Quest.java:54
com.realtime.crossfire.jxclient.quests.Quest.parent
final int parent
Definition:
Quest.java:64
com.realtime.crossfire.jxclient.util.EventListenerList2
Definition:
EventListenerList2.java:37
com.realtime.crossfire.jxclient.quests.Quest.listeners
final EventListenerList2< QuestListener > listeners
Definition:
Quest.java:38
com.realtime.crossfire.jxclient.quests.Quest.title
final String title
Definition:
Quest.java:49
com.realtime.crossfire.jxclient.quests.Quest.addQuestListener
void addQuestListener(@NotNull final QuestListener listener)
Definition:
Quest.java:188
com.realtime.crossfire.jxclient.quests.Quest.removeQuestListener
void removeQuestListener(@NotNull final QuestListener listener)
Definition:
Quest.java:196
com.realtime.crossfire.jxclient.quests.Quest
Definition:
Quest.java:32
com.realtime.crossfire.jxclient.quests.Quest.end
boolean end
Definition:
Quest.java:69
com.realtime.crossfire.jxclient.quests.Quest.step
String step
Definition:
Quest.java:75
com.realtime.crossfire.jxclient.util
Definition:
Codec.java:23
com.realtime.crossfire.jxclient.quests.Quest.code
final int code
Definition:
Quest.java:43
com.realtime.crossfire.jxclient.quests.Quest.fireChanged
void fireChanged()
Definition:
Quest.java:178
com.realtime.crossfire
com.realtime
com.realtime.crossfire.jxclient.quests.Quest.setStep
void setStep(final boolean end, @NotNull final String step)
Definition:
Quest.java:136
com
com.realtime.crossfire.jxclient.quests.Quest.getFace
int getFace()
Definition:
Quest.java:119
com.realtime.crossfire.jxclient.quests.Quest.replay
final boolean replay
Definition:
Quest.java:59
com.realtime.crossfire.jxclient.quests.Quest.isCompleted
boolean isCompleted()
Definition:
Quest.java:123
com.realtime.crossfire.jxclient.quests.Quest.getTitle
String getTitle()
Definition:
Quest.java:111
Generated by
1.8.17