 |
Crossfire JXClient, Trunk
|
Go to the documentation of this file.
23 package com.realtime.crossfire.jxclient.quests;
29 import java.util.ArrayList;
30 import java.util.Collections;
31 import java.util.Comparator;
32 import java.util.List;
33 import java.util.concurrent.CopyOnWriteArrayList;
34 import org.jetbrains.annotations.NotNull;
35 import org.jetbrains.annotations.Nullable;
47 private final List<Quest>
quests =
new CopyOnWriteArrayList<>();
68 @SuppressWarnings(
"FieldCanBeLocal")
77 public void metaserver() {
82 public void preConnecting(@NotNull
final String serverInfo) {
87 public void connecting(@NotNull
final String serverInfo) {
92 public void connecting(@NotNull
final ClientSocketState clientSocketState, @NotNull
final String param) {
97 public void connected() {
102 public void connectFailed(@NotNull
final String reason) {
143 public void addQuest(
final int code, @NotNull
final String title,
final int face,
final boolean replay,
final int parent,
final boolean end, @NotNull
final String description) {
144 final Quest key =
new Quest(code, title, face, replay, parent, end, description);
152 quest.
setStep(end, description);
156 listener.questChanged(index);
166 public void updateQuest(
final int code,
final boolean end, @NotNull
final String step) {
167 for (
int index = 0; index <
quests.size(); index++) {
172 listener.questChanged(index);
194 return 0 <= index && index <
quests.size() ?
quests.get(index) :
null;
200 if (quest.getCode() == code) {
214 if (quest.getFace() == faceNum) {
234 return new ArrayList<>(
quests);
Manages all quests for a player.
int getCode()
Get the quest's code.
void setStep(final boolean end, @NotNull final String step)
Update the quest's state.
final List< Quest > quests
All quests.
List< Quest > getQuests()
Get the list of all quests.
Interface for listeners interested gui state changes.
int getCount()
Returns the number of current quests.
final EventListenerList2< QuestsManagerListener > listeners
The QuestsManagerListeners to notify about changes.
A list of event listeners.
boolean displaysFace(final int faceNum)
Returns whether any quest has the given face.
Quest getQuestByCode(final int code)
A Comparator to compare Quest instances by title and code.
Maintains the current GuiState.
void addQuest(final int code, @NotNull final String title, final int face, final boolean replay, final int parent, final boolean end, @NotNull final String description)
Adds a new quest.
void selectCharacter()
A character name was sent to the server.
final GuiStateListener guiStateListener
The GuiStateListener for detecting established or dropped connections.
Quest getQuest(final int index)
Returns a Quest instance by index.
Interface for listeners interested in QuestsManager events.
void removeCrossfireQuestChangedListener(@NotNull final QuestsManagerListener listener)
Removes a QuestsManagerListener to notify about changes.
Describes an in-game quest.
void updateQuest(final int code, final boolean end, @NotNull final String step)
Updates quest information.
QuestsManager(@NotNull final GuiStateManager guiStateManager)
Creates a new instance.
Connection progress states of the Crossfire server connection.
final Comparator< Quest > questComparator
A Comparator to compare Quest instances by title and code.
void addCrossfireQuestChangedListener(@NotNull final QuestsManagerListener listener)
Adds a QuestsManagerListener to notify about changes.