Crossfire JXClient, Trunk
|
Public Member Functions | |
void | addToRepeatCount (final int digit) |
boolean | checkFire () |
boolean | checkRun () |
CommandQueue (@NotNull final CrossfireServerConnection crossfireServerConnection, @NotNull final GuiStateManager guiStateManager, @NotNull final PendingDirections pendingDirections) | |
void | sendMove (final int to, final int tag) |
void | sendNcom (final boolean mustSend, @NotNull final String command) |
void | sendNcom (final boolean mustSend, final int repeat, @NotNull final String command) |
void | sendRawString (@NotNull final String command) |
boolean | stopRunning () |
Private Member Functions | |
void | clear () |
void | comcReceived (final int packetNo, final int time) |
int | getRepeatCount () |
void | mapScrollReceived (final int dx, final int dy) |
void | resetRepeatCount () |
void | tickReceived (final int tickNo) |
Private Attributes | |
final CrossfireServerConnection | crossfireServerConnection |
final GuiStateListener | guiStateListener |
boolean | isRunning |
final List< Integer > | pendingCommands = new LinkedList<>() |
final PendingDirections | pendingDirections |
int | repeatCount |
Static Private Attributes | |
static final int | MAX_PENDING_COMMANDS = 10 |
Maintains the pending (ncom) commands sent to the server.
Definition at line 38 of file CommandQueue.java.
com.realtime.crossfire.jxclient.queue.CommandQueue.CommandQueue | ( | @NotNull final CrossfireServerConnection | crossfireServerConnection, |
@NotNull final GuiStateManager | guiStateManager, | ||
@NotNull final PendingDirections | pendingDirections | ||
) |
Creates a new instance.
crossfireServerConnection | the server connection for sending ncom commands |
guiStateManager | the gui state manager to watch |
pendingDirections | the pending directions instance to update |
Definition at line 129 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.addCrossfireComcListener(), com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.addCrossfireMapScrollListener(), com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.addCrossfireTickListener(), com.realtime.crossfire.jxclient.queue.CommandQueue.crossfireServerConnection, com.realtime.crossfire.jxclient.queue.CommandQueue.guiStateListener, and com.realtime.crossfire.jxclient.queue.CommandQueue.pendingDirections.
void com.realtime.crossfire.jxclient.queue.CommandQueue.addToRepeatCount | ( | final int | digit | ) |
Adds a digit to the current repeat count.
digit | the digit (0-9) to add |
Definition at line 159 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.repeatCount.
Referenced by com.realtime.crossfire.jxclient.window.KeyHandler.handleKeyPress().
boolean com.realtime.crossfire.jxclient.queue.CommandQueue.checkFire | ( | ) |
Returns whether the character is firing.
Definition at line 294 of file CommandQueue.java.
Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdRequest().
boolean com.realtime.crossfire.jxclient.queue.CommandQueue.checkRun | ( | ) |
Returns whether the character is running.
Definition at line 284 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.isRunning, and com.realtime.crossfire.jxclient.queue.CommandQueue.pendingCommands.
Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdRequest().
|
private |
Forgets about sent commands.
Definition at line 167 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.map.PendingDirections.clear(), com.realtime.crossfire.jxclient.queue.CommandQueue.isRunning, com.realtime.crossfire.jxclient.queue.CommandQueue.pendingCommands, com.realtime.crossfire.jxclient.queue.CommandQueue.pendingDirections, and com.realtime.crossfire.jxclient.queue.CommandQueue.resetRepeatCount().
|
private |
Called whenever a comc command was received.
packetNo | the packet number parameter |
time | the time parameter |
Definition at line 342 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.map.PendingDirections.comc(), com.realtime.crossfire.jxclient.queue.CommandQueue.pendingCommands, and com.realtime.crossfire.jxclient.queue.CommandQueue.pendingDirections.
|
private |
Returns the current repeat count and reset it to zero.
Definition at line 142 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.repeatCount, and com.realtime.crossfire.jxclient.queue.CommandQueue.resetRepeatCount().
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.sendMove(), and com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom().
|
private |
Processes a received map scroll command.
dx | the x scroll direction |
dy | the y scroll direction |
Definition at line 313 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.map.PendingDirections.mapScroll(), and com.realtime.crossfire.jxclient.queue.CommandQueue.pendingDirections.
|
private |
Resets the current repeat count to zero.
Definition at line 151 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.repeatCount.
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.clear(), and com.realtime.crossfire.jxclient.queue.CommandQueue.getRepeatCount().
void com.realtime.crossfire.jxclient.queue.CommandQueue.sendMove | ( | final int | to, |
final int | tag | ||
) |
Sends a "move" command to the server. The repeat count value is the client's current repeat count.
to | the destination location |
tag | the item to move |
Definition at line 304 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.crossfireServerConnection, com.realtime.crossfire.jxclient.queue.CommandQueue.getRepeatCount(), and com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.sendMove().
Referenced by com.realtime.crossfire.jxclient.gui.item.GUIItemFloor.button3Clicked(), and com.realtime.crossfire.jxclient.gui.item.GUIItemInventory.button3Clicked().
void com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom | ( | final boolean | mustSend, |
@NotNull final String | command | ||
) |
Sends a "ncom" command to the server. This function uses the default repeat count.
mustSend | if set, always send the command; if unset, drop the command if the command queue is full |
command | the command to send |
Definition at line 184 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.getRepeatCount().
Referenced by com.realtime.crossfire.jxclient.gui.item.GUIItemSpell.button1Clicked(), com.realtime.crossfire.jxclient.gui.item.GUIItemKnowledge.button1Clicked(), com.realtime.crossfire.jxclient.gui.item.GUIItemQuest.button1Clicked(), com.realtime.crossfire.jxclient.gui.item.GUIItemSpell.button2Clicked(), com.realtime.crossfire.jxclient.gui.item.GUIItemKnowledge.button2Clicked(), com.realtime.crossfire.jxclient.gui.item.GUIItemSpell.button3Clicked(), com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdIssue(), com.realtime.crossfire.jxclient.commands.HelpCommand.execute(), com.realtime.crossfire.jxclient.commands.CommandExecutorImpl.executeCommand(), com.realtime.crossfire.jxclient.queue.CommandQueue.stopRunning(), and com.realtime.crossfire.jxclient.settings.options.Pickup.updatePickupMode().
void com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom | ( | final boolean | mustSend, |
final int | repeat, | ||
@NotNull final String | command | ||
) |
Sends a "ncom" command to the server.
mustSend | if set, always send the command; if unset, drop the command if the command queue is full |
repeat | the repeat count |
command | the command to send |
Definition at line 196 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.map.PendingDirections.add(), com.realtime.crossfire.jxclient.map.PendingDirections.clear(), com.realtime.crossfire.jxclient.queue.CommandQueue.crossfireServerConnection, com.realtime.crossfire.jxclient.queue.CommandQueue.isRunning, com.realtime.crossfire.jxclient.queue.CommandQueue.MAX_PENDING_COMMANDS, com.realtime.crossfire.jxclient.queue.CommandQueue.pendingCommands, com.realtime.crossfire.jxclient.queue.CommandQueue.pendingDirections, com.realtime.crossfire.jxclient.map.PendingDirections.run(), and com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.sendNcom().
void com.realtime.crossfire.jxclient.queue.CommandQueue.sendRawString | ( | @NotNull final String | command | ) |
Sends a raw command to the server.
command | the command to send |
Definition at line 258 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.crossfireServerConnection, com.realtime.crossfire.jxclient.queue.CommandQueue.pendingCommands, and com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.sendRawString().
Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdIssue().
boolean com.realtime.crossfire.jxclient.queue.CommandQueue.stopRunning | ( | ) |
Tells the server to stop running. If the character is not running, does nothing.
Definition at line 269 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.isRunning, com.realtime.crossfire.jxclient.queue.CommandQueue.pendingCommands, and com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom().
Referenced by com.realtime.crossfire.jxclient.window.KeyHandler.updateModifiers().
|
private |
Called whenever a tick command was received.
tickNo | the tick number parameter |
Definition at line 362 of file CommandQueue.java.
References com.realtime.crossfire.jxclient.queue.CommandQueue.pendingDirections, and com.realtime.crossfire.jxclient.map.PendingDirections.tick().
|
private |
The server connection for sending ncom commands.
Definition at line 50 of file CommandQueue.java.
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.CommandQueue(), com.realtime.crossfire.jxclient.queue.CommandQueue.sendMove(), com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom(), and com.realtime.crossfire.jxclient.queue.CommandQueue.sendRawString().
|
private |
The GuiStateListener for detecting established or dropped connections.
Definition at line 83 of file CommandQueue.java.
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.CommandQueue().
|
private |
Whether a "run" command has been sent without a following "run_stop" command.
Definition at line 75 of file CommandQueue.java.
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.checkRun(), com.realtime.crossfire.jxclient.queue.CommandQueue.clear(), com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom(), and com.realtime.crossfire.jxclient.queue.CommandQueue.stopRunning().
|
staticprivate |
Maximum number of pending commands sent to the server. Excess commands will be dropped.
Definition at line 44 of file CommandQueue.java.
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom().
|
private |
Records command ids of commands sent to the server for which no comc commands has been received. Note that the size may be larger than MAX_PENDING_COMMANDS due to "must send" commands.
Definition at line 58 of file CommandQueue.java.
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.checkRun(), com.realtime.crossfire.jxclient.queue.CommandQueue.clear(), com.realtime.crossfire.jxclient.queue.CommandQueue.comcReceived(), com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom(), com.realtime.crossfire.jxclient.queue.CommandQueue.sendRawString(), and com.realtime.crossfire.jxclient.queue.CommandQueue.stopRunning().
|
private |
The PendingDirections instance that is updated.
Definition at line 64 of file CommandQueue.java.
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.clear(), com.realtime.crossfire.jxclient.queue.CommandQueue.comcReceived(), com.realtime.crossfire.jxclient.queue.CommandQueue.CommandQueue(), com.realtime.crossfire.jxclient.queue.CommandQueue.mapScrollReceived(), com.realtime.crossfire.jxclient.queue.CommandQueue.sendNcom(), and com.realtime.crossfire.jxclient.queue.CommandQueue.tickReceived().
|
private |
The default repeat counter for ncom commands.
Definition at line 69 of file CommandQueue.java.
Referenced by com.realtime.crossfire.jxclient.queue.CommandQueue.addToRepeatCount(), com.realtime.crossfire.jxclient.queue.CommandQueue.getRepeatCount(), and com.realtime.crossfire.jxclient.queue.CommandQueue.resetRepeatCount().