function Hint(element) { Module.call(this); this.element = element; this.update = function(module,cmd) { if(module){ this.element.innerHTML = this.message(module,cmd); this.element.style.display = "block"; } else if(commander && commander.element_input.value != ""){ this.element.innerHTML = commander.element_input.value; this.element.style.display = "block"; } else{ this.element.innerHTML = this.default(); this.element.style.display = "block"; } } this.message = function(module,cmd) { var s = "<span class='rune'>"+module.rune+"</span><span class='module'>"+module.constructor.name+"</span>"; s += cmd.content.join("") != "" ? "<span class='command'>"+cmd.content.join(" ")+"</span>" : ""; // Params var e = 0; while(e < 10){ if(!module.parameters[e]){ break; } var param_name = module.parameters[e].name; s += cmd[param_name.toLowerCase()]() ? "" : "<span class='param'>"+param_name+"</span>"; e += 1; } // Variables if(module.variables){ for (var key in module.variables){ if(cmd.variable(key)){continue;} s += "<span class='variable_key'>"+key+"</span>=<span class='variable_value'>"+module.variables[key]+"</span> "; } } return s; } this.default = function() { var s = "<span class='module'>Modules</span>"; for (var key in ronin.modules){ s += "<span> <span class='value'>"+key+"</span> <span class='param'>"+ronin.modules[key].constructor.name.substr(0,2)+" "; } return s; } }