forked from kanium/starcheese
23 lines
525 B
GDScript3
23 lines
525 B
GDScript3
|
|
extends RichTextLabel
|
||
|
|
|
||
|
|
@export var max_lines: int = 10
|
||
|
|
|
||
|
|
func log_message(message: String, color: Color = Color(1, 1)):
|
||
|
|
bbcode_enabled = true
|
||
|
|
|
||
|
|
var color_code = "[color=%s]" % color.to_html()
|
||
|
|
var formatted_message = "%s%s[/color]" % [color_code, message]
|
||
|
|
|
||
|
|
append_text(formatted_message + "\n")
|
||
|
|
|
||
|
|
scroll_to_line(get_line_count())
|
||
|
|
|
||
|
|
if get_line_count() > max_lines:
|
||
|
|
trim_console()
|
||
|
|
|
||
|
|
func trim_console():
|
||
|
|
var lines = get_text().split("\n")
|
||
|
|
while lines.size() > max_lines:
|
||
|
|
lines.pop_front()
|
||
|
|
text = "\n".join(lines)
|