//Terminal
var post = function(input) {
$("#terminal-input").before('
' + input + ' |
');
window.scrollTo(0, document.body.scrollHeight);
}
var postNetburnerText = function() {
post("Netburner v1.0");
}
//command is checked on enter key press
$(document).keyup(function(event) {
if (event.keyCode == 13) {
var command = $('input[class=terminal-input]').val();
if (command.length > 0) {
post("> " + command);
//TODO Do i have to switch the order of these two?
Terminal.executeCommand(command);
$('input[class=terminal-input]').val("");
}
}
});
var Terminal = {
executeCommand: function(command) {
var commandArray = command.split();
if (commandArray.length == 0) {
return;
}
switch (commandArray[0]) {
case "analyze":
//TODO Analyze the system for ports
break;
case "clear":
case "cls":
console.log("cls/clear command called");
$("#terminal tr:not(:last)").remove();
postNetburnerText();
break;
case "connect":
//TODO Disconnect from current server in terminal and connect to new one..maybe rename this to telnet?
break;
case "df":
console.log("df command called");
var dfStr = Player.currentServer.ramUsed.toString() + " / " Player.currentServer.maxRam.toString() + "GB";
post(dfStr);
break;
case "hack":
//TODO Hack the current PC (usually for money)
//You can't hack your home pc or servers you purchased
if (Player.currentServer.purchasedByPlayer) {
post("Cannot hack your own machines! You are currently connected to your home PC or one of your purchased servers");
} else {
}
break;
case "help":
//TODO
break;
case "hostname":
//Print the hostname of current system
post(Player.currentServer.hostname);
break;
case "ifconfig":
//Print the IP address of the current system
post(Player.currentServer.ip);
break;
case "kill":
//TODO
break;
case "ls":
//TODO
break;
case "netstat":
case "scan":
//TODO Displays available network connections using TCP
case "ps":
//TODO
break;
case "rm":
//TODO
break;
case "run":
//TODO
break;
case "scp":
//TODO
break;
default:
}
},
runProgram: function(programName) {
}
};