Crossfire JXClient, Trunk
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess Class Referenceabstract
Inheritance diagram for com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess:
Inheritance graph
Collaboration diagram for com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess:
Collaboration graph

Public Member Functions

void addScriptProcessListener (@NotNull final ScriptProcessListener scriptProcessListener)
 
void commandSent (@NotNull final String cmd)
 
int compareTo (@NotNull final ScriptProcess o)
 
boolean equals (@Nullable final Object obj)
 
String getFilename ()
 
int getScriptId ()
 
int hashCode ()
 
void run ()
 
String toString ()
 
- Public Member Functions inherited from com.realtime.crossfire.jxclient.scripts.ScriptProcess
void killScript ()
 

Protected Member Functions

 AbstractScriptProcess (final int scriptId, @NotNull final String filename, @NotNull final CommandQueue commandQueue, @NotNull final CrossfireServerConnection crossfireServerConnection, @NotNull final Stats stats, @NotNull final FloorView floorView, @NotNull final ItemSet itemSet, @NotNull final SpellsManager spellsManager, @NotNull final MapUpdaterState mapUpdaterState, @NotNull final SkillSet skillSet)
 
abstract String readFromScript () throws IOException
 
abstract String waitForTermination ()
 
abstract void writeToScript (@NotNull final String data) throws IOException
 

Private Member Functions

void cmdDraw (@NotNull final String params)
 
void cmdIssue (@NotNull final String params)
 
void cmdIssueApply (@NotNull final String params)
 
void cmdIssueLock (@NotNull final String params)
 
void cmdIssueMark (@NotNull final String params)
 
void cmdIssueMove (@NotNull final String params, final int destTag, @NotNull final String commandName)
 
void cmdMonitor ()
 
void cmdRequest (@NotNull final String params)
 
void cmdUnmonitor ()
 
void commandSentItem (@NotNull final String cmd, @NotNull final CfItem item)
 
void commandSentMap (@NotNull final CfMap map, final int x, final int y)
 
void mapScroll (final int dx, final int dy)
 
void newmap ()
 
void reportError (@NotNull final String string)
 
void runScriptCommand (@NotNull final String cmdLine)
 

Private Attributes

final ClientSocketListener clientSocketListener
 
final CommandQueue commandQueue
 
final CrossfireServerConnection crossfireServerConnection
 
final String filename
 
final FloorView floorView
 
boolean isMonitoring
 
final ItemSet itemSet
 
final MapUpdaterState mapUpdaterState
 
final PacketWatcher packetWatcher
 
int posX
 
int posY
 
final int scriptId
 
final EventListenerList2< ScriptProcessListenerscriptProcessListeners = new EventListenerList2<>()
 
final SkillSet skillSet
 
final SpellsManager spellsManager
 
final Stats stats
 

Static Private Attributes

static final Pattern PATTERN_ISSUE = Pattern.compile("(-?[0-9]+) +(-?[0-9]+) +(.+)")
 

Detailed Description

Default implementation for ScriptProcesses.

Author
Lauwenmark
Andreas Kirschbaum

Definition at line 55 of file AbstractScriptProcess.java.

Constructor & Destructor Documentation

◆ AbstractScriptProcess()

com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.AbstractScriptProcess ( final int  scriptId,
@NotNull final String  filename,
@NotNull final CommandQueue  commandQueue,
@NotNull final CrossfireServerConnection  crossfireServerConnection,
@NotNull final Stats  stats,
@NotNull final FloorView  floorView,
@NotNull final ItemSet  itemSet,
@NotNull final SpellsManager  spellsManager,
@NotNull final MapUpdaterState  mapUpdaterState,
@NotNull final SkillSet  skillSet 
)
protected

Member Function Documentation

◆ addScriptProcessListener()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.addScriptProcessListener ( @NotNull final ScriptProcessListener  scriptProcessListener)

Adds a ScriptProcessListener to be notified.

Parameters
scriptProcessListenerthe listener to add

Implements com.realtime.crossfire.jxclient.scripts.ScriptProcess.

Definition at line 783 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.scriptProcessListeners.

Referenced by com.realtime.crossfire.jxclient.scripts.ScriptManager.newScript().

Here is the caller graph for this function:

◆ cmdDraw()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdDraw ( @NotNull final String  params)
private

Processes a "draw" command from the script process.

Parameters
paramsthe command arguments

Definition at line 658 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.crossfireServerConnection, com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.drawInfo(), and com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.reportError().

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.runScriptCommand().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cmdIssue()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdIssue ( @NotNull final String  params)
private

◆ cmdIssueApply()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdIssueApply ( @NotNull final String  params)
private

Processes an "issue apply" command from the script process.

Parameters
paramsthe command arguments

Definition at line 614 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.crossfireServerConnection, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.reportError(), and com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.sendApply().

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.runScriptCommand().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cmdIssueLock()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdIssueLock ( @NotNull final String  params)
private

Processes an "issue lock" command from the script process.

Parameters
paramsthe command arguments

Definition at line 563 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.crossfireServerConnection, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.reportError(), and com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.sendLock().

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.runScriptCommand().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cmdIssueMark()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdIssueMark ( @NotNull final String  params)
private

Processes an "issue mark" command from the script process.

Parameters
paramsthe command arguments

Definition at line 548 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.crossfireServerConnection, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.reportError(), and com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.sendMark().

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.runScriptCommand().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cmdIssueMove()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdIssueMove ( @NotNull final String  params,
final int  destTag,
@NotNull final String  commandName 
)
private

Processes an "issue take" or "issue drop" command from the script process.

Parameters
paramsthe command arguments
destTagthe destination tag to move to
commandNamethe command name for error messages

Definition at line 592 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.crossfireServerConnection, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.reportError(), and com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection.sendMove().

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.runScriptCommand().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cmdMonitor()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdMonitor ( )
private

◆ cmdRequest()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdRequest ( @NotNull final String  params)
private

Processes a "request" command from the script process.

Parameters
paramsthe command arguments

Definition at line 401 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.queue.CommandQueue.checkFire(), com.realtime.crossfire.jxclient.queue.CommandQueue.checkRun(), com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandQueue, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSent(), com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSentItem(), com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSentMap(), com.realtime.crossfire.jxclient.stats.Stats.CS_NUM_SKILLS, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_AC, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_CHA, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_CON, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_DEX, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_INT, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_POW, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_STR, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_WIS, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_CHA, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_CON, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_DEX, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_INT, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_POW, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_STR, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_WIS, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_CHA, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_CON, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_DAM, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_DEX, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_FLAGS, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_FOOD, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_GRACE, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_HP, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_INT, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_LEVEL, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_MAXGRACE, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_MAXHP, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_MAXSP, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_POW, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_CHA, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_CON, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_DEX, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_INT, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_POW, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_STR, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_WIS, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RESIST_END, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RESIST_START, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SKILLINFO, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SP, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SPEED, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SPELL_ATTUNE, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SPELL_DENY, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SPELL_REPEL, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_STR, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_WC, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_WEAP_SP, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_WEIGHT_LIM, com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_WIS, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.floorView, com.realtime.crossfire.jxclient.spells.SpellsManager.getAllSpells(), com.realtime.crossfire.jxclient.items.FloorView.getCurrentFloorTag(), com.realtime.crossfire.jxclient.skills.Skill.getExperience(), com.realtime.crossfire.jxclient.stats.Stats.getExperience(), com.realtime.crossfire.jxclient.items.ItemSet.getItemsByLocation(), com.realtime.crossfire.jxclient.skills.Skill.getLevel(), com.realtime.crossfire.jxclient.map.MapUpdaterState.getMap(), com.realtime.crossfire.jxclient.map.MapUpdaterState.getMapHeight(), com.realtime.crossfire.jxclient.map.MapUpdaterState.getMapWidth(), com.realtime.crossfire.jxclient.items.ItemSet.getPlayer(), com.realtime.crossfire.jxclient.items.ItemSet.getPlayerInventory(), com.realtime.crossfire.jxclient.stats.Stats.getRange(), com.realtime.crossfire.jxclient.skills.SkillSet.getSkill(), com.realtime.crossfire.jxclient.stats.Stats.getStat(), com.realtime.crossfire.jxclient.items.CfItem.getTag(), com.realtime.crossfire.jxclient.stats.Stats.getTitle(), com.realtime.crossfire.jxclient.items.CfItem.getWeight(), com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.itemSet, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.mapUpdaterState, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.posX, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.posY, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.reportError(), com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.skillSet, com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.spellsManager, and com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.stats.

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.runScriptCommand().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cmdUnmonitor()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdUnmonitor ( )
private

◆ commandSent()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSent ( @NotNull final String  cmd)

◆ commandSentItem()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSentItem ( @NotNull final String  cmd,
@NotNull final CfItem  item 
)
private

Sends an item info message to the script process.

Parameters
cmdthe message to send
itemthe item to send

Definition at line 324 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSent().

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdRequest().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ commandSentMap()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSentMap ( @NotNull final CfMap  map,
final int  x,
final int  y 
)
private

◆ compareTo()

int com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.compareTo ( @NotNull final ScriptProcess  o)

◆ equals()

boolean com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.equals ( @Nullable final Object  obj)

◆ getFilename()

String com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.getFilename ( )

Returns the script's filename.

Returns
the script's filename

Implements com.realtime.crossfire.jxclient.scripts.ScriptProcess.

Definition at line 218 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.filename.

◆ getScriptId()

int com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.getScriptId ( )

Returns the script ID identifying this script instance.

Returns
the script ID

Implements com.realtime.crossfire.jxclient.scripts.ScriptProcess.

Definition at line 212 of file AbstractScriptProcess.java.

References com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.scriptId.

◆ hashCode()

int com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.hashCode ( )

◆ mapScroll()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.mapScroll ( final int  dx,
final int  dy 
)
private

◆ newmap()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.newmap ( )
private

◆ readFromScript()

abstract String com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.readFromScript ( ) throws IOException
abstractprotected

Reads a line from the script process.

Returns
the line or
null
if the script has exited
Exceptions
IOExceptionif reading failed

Reimplemented in com.realtime.crossfire.jxclient.scripts.TestScriptProcess, and com.realtime.crossfire.jxclient.scripts.DefaultScriptProcess.

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.run().

Here is the caller graph for this function:

◆ reportError()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.reportError ( @NotNull final String  string)
private

◆ run()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.run ( )

◆ runScriptCommand()

void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.runScriptCommand ( @NotNull final String  cmdLine)
private

◆ toString()

String com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.toString ( )

◆ waitForTermination()

abstract String com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.waitForTermination ( )
abstractprotected

Waits until the script has terminated.

Returns
the termination reason or
null
if the script exited normally

Reimplemented in com.realtime.crossfire.jxclient.scripts.TestScriptProcess, and com.realtime.crossfire.jxclient.scripts.DefaultScriptProcess.

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.run().

Here is the caller graph for this function:

◆ writeToScript()

abstract void com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.writeToScript ( @NotNull final String  data) throws IOException
abstractprotected

Sends some data to the script process.

Parameters
datathe data
Exceptions
IOExceptionif sending fails

Reimplemented in com.realtime.crossfire.jxclient.scripts.TestScriptProcess, and com.realtime.crossfire.jxclient.scripts.DefaultScriptProcess.

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSent().

Here is the caller graph for this function:

Member Data Documentation

◆ clientSocketListener

final ClientSocketListener com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.clientSocketListener
private
Initial value:
= new ClientSocketListener() {
@Override
public void connecting() {
}
@Override
public void connected() {
}
@Override
public void packetReceived(@NotNull final ByteBuffer packet) {
}
@Override
public void packetSent(@NotNull final ClientSocketMonitorCommand monitor) {
commandSent(monitor.getMonitorCommand());
}
@Override
public void disconnected(@NotNull final String reason) {
}
}

The ClientSocketListener attached to crossfireServerConnection to track commands sent to the server.

Definition at line 155 of file AbstractScriptProcess.java.

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdMonitor(), com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdUnmonitor(), and com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.run().

◆ commandQueue

final CommandQueue com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandQueue
private

◆ crossfireServerConnection

final CrossfireServerConnection com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.crossfireServerConnection
private

◆ filename

final String com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.filename
private

◆ floorView

final FloorView com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.floorView
private

◆ isMonitoring

boolean com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.isMonitoring
private

◆ itemSet

final ItemSet com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.itemSet
private

◆ mapUpdaterState

final MapUpdaterState com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.mapUpdaterState
private

◆ packetWatcher

final PacketWatcher com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.packetWatcher
private

◆ PATTERN_ISSUE

final Pattern com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.PATTERN_ISSUE = Pattern.compile("(-?[0-9]+) +(-?[0-9]+) +(.+)")
staticprivate

Matches the arguments of an "issue" command with repeat and must_send parameters.

Definition at line 62 of file AbstractScriptProcess.java.

Referenced by com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.cmdIssue().

◆ posX

int com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.posX
private

◆ posY

int com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.posY
private

◆ scriptId

final int com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.scriptId
private

◆ scriptProcessListeners

final EventListenerList2<ScriptProcessListener> com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.scriptProcessListeners = new EventListenerList2<>()
private

◆ skillSet

final SkillSet com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.skillSet
private

◆ spellsManager

final SpellsManager com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.spellsManager
private

◆ stats

final Stats com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.stats
private

The documentation for this class was generated from the following file:
com.realtime.crossfire.jxclient.scripts.AbstractScriptProcess.commandSent
void commandSent(@NotNull final String cmd)
Definition: AbstractScriptProcess.java:303