102 lines
2.1 KiB
JavaScript
102 lines
2.1 KiB
JavaScript
const os = require("os")
|
|
|
|
var logs = []
|
|
var info = [[],[]]
|
|
|
|
function updateLog() {
|
|
console.clear()
|
|
const columns = process.stdout.columns;
|
|
const rows = process.stdout.rows;
|
|
const vertSplit = Math.round(rows/4)
|
|
|
|
for (var i = 0; i < vertSplit; i++) {
|
|
process.stdout.cursorTo(Math.round(columns/2),i);
|
|
process.stdout.clearLine();
|
|
process.stdout.write(`|`)
|
|
}
|
|
for (var i = 0; i < columns; i++) {
|
|
process.stdout.cursorTo(i, vertSplit)
|
|
process.stdout.write(`=`)
|
|
}
|
|
|
|
process.stdout.cursorTo(0,0)
|
|
process.stdout.write("Players:")
|
|
const players = info[0]
|
|
for (var i = 0; i < players.length; i++) {
|
|
process.stdout.cursorTo(0,i+1)
|
|
process.stdout.write(`Name: \x1b[1m${players[i].name}\x1b[0m -\x1b[1m ID:${players[i].id}\x1b[0m`)
|
|
}
|
|
for (var i = 0; i < logs.length; i++ ) {
|
|
process.stdout.cursorTo(0,vertSplit+1+i)
|
|
process.stdout.write(`${logs[i]}${os.EOL}` )
|
|
}
|
|
|
|
}
|
|
function log(string, color) {
|
|
if (string == undefined) return;
|
|
var prefix = '';
|
|
switch (color) {
|
|
case "reset":
|
|
prefix = "\x1b[0m"
|
|
break;
|
|
case "bright":
|
|
prefix = "\x1b[1m"
|
|
break;
|
|
case "dim":
|
|
prefix = "\x1b[2m"
|
|
break;
|
|
case "underscore":
|
|
prefix = "\x1b[4m"
|
|
break;
|
|
case "reverse":
|
|
prefix = "\x1b[7m"
|
|
break;
|
|
case "FgBlack":
|
|
prefix = "\x1b[30m"
|
|
break;
|
|
case "FgRed":
|
|
prefix = "\x1b[31m"
|
|
break;
|
|
case "FgGreen":
|
|
prefix = "\x1b[32m"
|
|
break;
|
|
case "FgYellow":
|
|
prefix = "\x1b[33m"
|
|
break;
|
|
case "FgBlue":
|
|
prefix = "\x1b[34m"
|
|
break;
|
|
case "FgMagenta":
|
|
prefix = "\x1b[35m"
|
|
break;
|
|
case "FgCyan":
|
|
prefix = "\x1b[36m"
|
|
break;
|
|
case "FgWhite":
|
|
prefix = "\x1b[37m"
|
|
break;
|
|
}
|
|
|
|
// BgBlack = "\x1b[40m"
|
|
// BgRed = "\x1b[41m"
|
|
// BgGreen = "\x1b[42m"
|
|
// BgYellow = "\x1b[43m"
|
|
// BgBlue = "\x1b[44m"
|
|
// BgMagenta = "\x1b[45m"
|
|
// BgCyan = "\x1b[46m"
|
|
// BgWhite = "\x1b[47m"
|
|
const newString = prefix + string + "\x1b[0m"
|
|
logs.push(newString)
|
|
updateLog();
|
|
}
|
|
|
|
function setInfo (players){
|
|
if (players != undefined) {
|
|
info[0] = players;
|
|
updateLog()
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = {log, updateLog, setInfo}
|