Added a line by line command parser in the web client.

This commit is contained in:
Trent Robbins 2016-10-25 20:39:04 -07:00
parent 384d08f9d8
commit 73633f01d9

View file

@ -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], {});
}
}
}