mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Added a line by line command parser in the web client.
This commit is contained in:
parent
384d08f9d8
commit
73633f01d9
1 changed files with 19 additions and 13 deletions
|
|
@ -87,19 +87,25 @@ function doSendText() {
|
|||
}
|
||||
var inputfield = $("#inputfield");
|
||||
var outtext = inputfield.val();
|
||||
if (outtext.length > 7 && outtext.substr(0, 7) == "##send ") {
|
||||
// send a specific oob instruction ["cmdname",[args],{kwargs}]
|
||||
outtext = outtext.slice(7);
|
||||
var cmdarr = JSON.parse(outtext);
|
||||
var cmdname = cmdarr[0];
|
||||
var args = cmdarr[1];
|
||||
var kwargs = cmdarr[2];
|
||||
log(cmdname, args, kwargs);
|
||||
Evennia.msg(cmdname, args, kwargs);
|
||||
} else {
|
||||
input_history.add(outtext);
|
||||
inputfield.val("");
|
||||
Evennia.msg("text", [outtext], {});
|
||||
var lines = outtext.trim().replace(/[\r]+/,"\n").replace(/[\n]+/, "\n").split("\n");
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
var line = lines[i].trim();
|
||||
if (line.length > 7 && line.substr(0, 7) == "##send ") {
|
||||
// send a specific oob instruction ["cmdname",[args],{kwargs}]
|
||||
line = line.slice(7);
|
||||
var cmdarr = JSON.parse(line);
|
||||
var cmdname = cmdarr[0];
|
||||
var args = cmdarr[1];
|
||||
var kwargs = cmdarr[2];
|
||||
log(cmdname, args, kwargs);
|
||||
Evennia.msg(cmdname, args, kwargs);
|
||||
} else if (line.length < 1) {
|
||||
/* do not process empty lines */
|
||||
} else {
|
||||
input_history.add(line);
|
||||
inputfield.val("");
|
||||
Evennia.msg("text", [line], {});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue