 |
Crossfire JXClient, Trunk
|
Go to the documentation of this file.
23 package com.realtime.crossfire.jxclient.server.crossfire;
29 import java.nio.ByteBuffer;
30 import java.nio.charset.Charset;
31 import java.nio.charset.StandardCharsets;
32 import java.util.Iterator;
33 import org.jetbrains.annotations.NotNull;
47 protected static final Charset
UTF8 = StandardCharsets.UTF_8;
280 crossfireAccountListener.manageAccount();
286 crossfireAccountListener.startAccountList(accountName);
292 crossfireAccountListener.addAccount(characterInformation);
298 crossfireAccountListener.endAccountList(count);
304 crossfireAccountListener.startPlaying();
310 listener.commandComcReceived(packetNo, time);
316 crossfireUpdateItemListener.delinvReceived(tag);
322 crossfireUpdateItemListener.delitemReceived(tags);
326 protected void fireFaceReceived(
final int faceNum,
final int faceSetNum,
final int faceChecksum, @NotNull
final String faceName) {
330 protected void fireFailure(@NotNull
final String command, @NotNull
final String arguments) {
332 crossfireFailureListener.failure(command, arguments);
342 crossfireFailureListener.clearFailure();
346 protected void fireAddItemReceived(
final int location,
final int tag,
final int flags,
final int weight,
final int faceNum,
final String name,
final String namePl,
final int anim,
final int animSpeed,
final int nrof,
final int type) {
348 crossfireUpdateItemListener.addItemReceived(location, tag, flags, weight, faceNum, name, namePl, anim, animSpeed, nrof, type);
354 listener.commandMagicmapReceived();
360 listener.commandMusicReceived(music);
366 crossfirePickupListener.pickupChanged(pickupOptions);
370 protected void firePlayerReceived(
final int tag,
final int weight,
final int faceNum, @NotNull
final String name) {
372 crossfireUpdateItemListener.playerReceived(tag, weight, faceNum, name);
378 listener.commandQueryReceived(prompt, queryType);
384 listener.commandSoundReceived(x, y, num, type);
388 protected void fireCommandSound2Received(
final int x,
final int y,
final int dir,
final int volume,
final int type, @NotNull
final String action, @NotNull
final String name) {
390 listener.commandSound2Received(x, y, dir, volume, type, action, name);
396 listener.tick(tickNo);
400 protected void fireUpditemReceived(
final int flags,
final int tag,
final int valLocation,
final int valFlags,
final int valWeight,
final int valFaceNum, @NotNull
final String valName, @NotNull
final String valNamePl,
final int valAnim,
final int valAnimSpeed,
final int valNrof) {
402 crossfireUpdateItemListener.upditemReceived(flags, tag, valLocation, valFlags, valWeight, valFaceNum, valName, valNamePl, valAnim, valAnimSpeed, valNrof);
407 public void drawInfo(@NotNull
final String message,
final int color) {
409 listener.commandDrawinfoReceived(message, color);
414 public void drawextinfo(
final int color,
final int type,
final int subtype, @NotNull
final String message) {
416 listener.commandDrawextinfoReceived(color, type, subtype, message);
423 listener.setDebugMode(printMessageTypes);
434 sentPacketListener.markSent(tag);
444 sentPacketListener.replySent();
456 if (listeners.hasNext()) {
457 while (listeners.hasNext()) {
458 listeners.next().process(command, args);
471 protected static String
newString(@NotNull
final ByteBuffer byteBuffer,
final int start,
final int len) {
472 final byte[] tmp =
new byte[len];
473 for (
int i = 0; i < len; i++) {
474 tmp[i] = byteBuffer.get(
start+i);
476 return new String(tmp,
UTF8);
479 protected void fireSelectCharacter(@NotNull
final String accountName, @NotNull
final String characterName) {
484 crossfireAccountListener.selectCharacter(accountName, characterName);
void removeCrossfireMagicmapListener(@NotNull final CrossfireMagicmapListener listener)
Removes a listener from the list of objects listening to magicmap messages.
void fireDelinvReceived(final int tag)
Interface for listeners interested in the "failure" messages received from the Crossfire server.
static final Charset UTF8
The Charset used for parsing or encoding strings received from or sent to the Crossfire server.
void addCrossfireMagicmapListener(@NotNull final CrossfireMagicmapListener listener)
Adds a listener from the list of objects listening to magicmap messages.
Interface for listeners interested in drawinfo messages received from the Crossfire server.
Interface for listeners interested in "sound" commands.
final EventListenerList2< CrossfireSoundListener > crossfireSoundListeners
The CrossfireSoundListeners to be notified.
void drawInfo(@NotNull final String message, final int color)
Pretends that a drawinfo message has been received.
void fireDelitemReceived(final int @NotNull[] tags)
Interface for listeners interested in "pickup" messages.
void removeCrossfireFailureListener(@NotNull final CrossfireFailureListener listener)
Removes a listener to be notified of failure messages.
QuestsManager getQuestsManager()
void removeSentPacketListener(@NotNull final SentPacketListener listener)
Removes a listener to be notified about sent reply packets.
Interface for listeners interested in magicmap messages received from the Crossfire server.
void addCrossfireSoundListener(@NotNull final CrossfireSoundListener listener)
Adds a listener to be notified about received sound commands.
void addCrossfireTickListener(@NotNull final CrossfireTickListener listener)
Adds a listener to be notified about tick changes.
final EventListenerList2< CrossfireTickListener > crossfireTickListeners
The CrossfireTickListeners to be notified.
Adds encoding/decoding of crossfire protocol packets to a ServerConnection.
Interface for listeners interested in comc commands received from the server.
void addPacketWatcherListener(@NotNull final ReceivedPacketListener listener)
Adds a listener to be notified about received packets.
void clearFailure()
Inform the various failure listeners that they can clean the last displayed failure.
Interface for listeners interested in account information related messages received from the Crossfir...
void removeCrossfireDrawextinfoListener(@NotNull final CrossfireDrawextinfoListener listener)
Removes the given listener from the list of objects listening to the drawextinfo S->C messages.
void fireUpditemReceived(final int flags, final int tag, final int valLocation, final int valFlags, final int valWeight, final int valFaceNum, @NotNull final String valName, @NotNull final String valNamePl, final int valAnim, final int valAnimSpeed, final int valNrof)
void removeCrossfireAccountListener(@NotNull final CrossfireAccountListener listener)
Removes a listener to be notified about account events.
Abstract base class for CrossfireServerConnection implementing classes.
void start()
Starts operation.
void addCrossfireDrawinfoListener(@NotNull final CrossfireDrawinfoListener listener)
Adds a new listener monitoring the drawinfo S->C messages.
void removeCrossfireDrawinfoListener(@NotNull final CrossfireDrawinfoListener listener)
Removes the given listener from the list of objects listening to the drawinfo S->C messages.
void selectCharacter()
A character name was sent to the server.
A list of event listeners.
final Model model
The Model instance that is updated.
void addCrossfireDrawextinfoListener(@NotNull final CrossfireDrawextinfoListener listener)
Adds a new listener monitoring the drawextinfo S->C messages.
final EventListenerList2< CrossfireMagicmapListener > magicmapListeners
The CrossfireMagicmapListeners to be notified of received magicmap commands.
final EventListenerList2< CrossfireAccountListener > crossfireAccountListeners
The CrossfireAccountListeners to be notified.
void removePacketWatcherListener(@NotNull final ReceivedPacketListener listener)
Removes a listener to be notified about received packets.
Listener for classes interested in commands sent to the Crossfire server.
void addCrossfirePickupListener(@NotNull final CrossfirePickupListener listener)
Adds a listener to be notified about received "pickup" messages.
final EventListenerList2< CrossfireUpdateItemListener > crossfireUpdateItemListeners
The CrossfireUpdateItemListeners to be notified.
Interface for listeners interested in "music" commands.
KnowledgeManager getKnowledgeManager()
final EventListenerList2< CrossfireQueryListener > queryListeners
The CrossfireQueryListeners to be notified.
void selectCharacter()
A character name was sent to the server.
final EventListenerList2< CrossfireFailureListener > crossfireFailureListeners
The CrossfireFailureListeners to be notified.
Interface for listeners interested in received packets.
void fireCommandQueryReceived(@NotNull final String prompt, final int queryType)
void fireCommandComcReceived(final int packetNo, final int time)
void selectCharacter()
A character name was sent to the server.
void addCrossfireAccountListener(@NotNull final CrossfireAccountListener listener)
Adds a listener to be notified about account events.
void fireTick(final int tickNo)
void addCrossfireQueryListener(@NotNull final CrossfireQueryListener listener)
Adds a new listener monitoring the query S->C messages.
void fireCommandSoundReceived(final int x, final int y, final int num, final int type)
void fireFailure(@NotNull final String command, @NotNull final String arguments)
Interface for listeners interested in "tick" commands.
Interface for listeners interested in query messages received from the Crossfire server.
final EventListenerList2< CrossfireDrawinfoListener > drawinfoListeners
The CrossfireDrawinfoListeners to be notified.
void fireStartAccountList(@NotNull final String accountName)
void fireReplySent()
Notifies all listeners about a "reply" command that has been sent to the Crossfire server.
static String newString(@NotNull final ByteBuffer byteBuffer, final int start, final int len)
Extracts a string from a ByteBuffer range.
void fireCommandSound2Received(final int x, final int y, final int dir, final int volume, final int type, @NotNull final String action, @NotNull final String name)
void drawextinfo(final int color, final int type, final int subtype, @NotNull final String message)
void addFace(@NotNull final Face face)
Adds a new face to the cache.
Interface for listeners interested in drawextinfo messages received from the Crossfire server.
void notifyPacketWatcherListeners(@NotNull final String command, @NotNull final ClientSocketMonitorCommand args)
Notifies all ReceivedPacketListeners about a packet.
void removeCrossfireUpdateItemListener(@NotNull final CrossfireUpdateItemListener crossfireUpdateItemListener)
Removes a listener to be notified about item changes.
void addCrossfireMusicListener(@NotNull final CrossfireMusicListener listener)
Adds a listener to be notified about received music commands.
final EventListenerList2< SentPacketListener > sentPacketListeners
The SentPacketListeners to be notified.
void fireAddAccount(@NotNull final CharacterInformation characterInformation)
Interface for listeners interested in item related commands.
void fireMusicReceived(@NotNull final String music)
final EventListenerList2< CrossfireComcListener > crossfireComcListeners
The CrossfireComcListeners to be notified.
void addSentPacketListener(@NotNull final SentPacketListener listener)
Adds a listener to be notified about sent reply packets.
Interface for querying monitor commands for script processes.
void firePlayerReceived(final int tag, final int weight, final int faceNum, @NotNull final String name)
void fireFaceReceived(final int faceNum, final int faceSetNum, final int faceChecksum, @NotNull final String faceName)
void fireEndAccountList(final int count)
void removeCrossfirePickupListener(@NotNull final CrossfirePickupListener listener)
Removes a listener to be notified about received "pickup" messages.
void fireMarkSent(final int tag)
Notifies all listeners about a "mark" command that has been sent to the Crossfire server.
void fireSelectCharacter(@NotNull final String accountName, @NotNull final String characterName)
AbstractCrossfireServerConnection(@NotNull final Model model)
Creates a new instance.
final EventListenerList2< CrossfireDrawextinfoListener > drawextinfoListeners
The CrossfireDrawextinfoListeners to be notified.
void drawInfoSetDebugMode(final boolean printMessageTypes)
Enables or disables printing of message types.
void fireAddItemReceived(final int location, final int tag, final int flags, final int weight, final int faceNum, final String name, final String namePl, final int anim, final int animSpeed, final int nrof, final int type)
SpellsManager getSpellsManager()
final EventListenerList2< CrossfireMusicListener > crossfireMusicListeners
The CrossfireMusicListeners to be notified.
void firePickupChanged(final int pickupOptions)
void addCrossfireUpdateItemListener(@NotNull final CrossfireUpdateItemListener crossfireUpdateItemListener)
Adds a listener to be notified about item changes.
void removeCrossfireQueryListener(@NotNull final CrossfireQueryListener listener)
Removes the given listener from the list of objects listening to the query S->C messages.
Combines all model classes that are updated.
void addCrossfireComcListener(@NotNull final CrossfireComcListener listener)
Adds a listener to be notified about received comc commands.
void addCrossfireFailureListener(@NotNull final CrossfireFailureListener listener)
Adds a listener to be notified of failure messages.
final EventListenerList2< CrossfirePickupListener > crossfirePickupListeners
The CrossfirePickupListeners to be notified.
final EventListenerList2< ReceivedPacketListener > receivedPacketListeners
The ReceivedPacketListeners to be notified.