blob: 52f38b91f9d8048f026bfe06b1163ad8ef922a55 (
plain) (
blame)
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn extends CanvasLayer
var _message_queue = []
var _font
var _container
var _ordered_labels = []
func _ready():
_container = VBoxContainer.new()
_container.set_name("Container")
_container.anchor_bottom = 1
_container.offset_left = 20.0
_container.offset_right = 1920.0
_container.offset_top = 0.0
_container.offset_bottom = -20.0
_container.alignment = BoxContainer.ALIGNMENT_END
_container.mouse_filter = Control.MOUSE_FILTER_IGNORE
self.add_child(_container)
_font = load("res://assets/fonts/Lingo2.ttf")
func _add_message(text):
var new_label = RichTextLabel.new()
new_label.push_font(_font)
new_label.push_font_size(36)
new_label.push_outline_color(Color(0, 0, 0, 1))
new_label.push_outline_size(2)
new_label.append_text(text)
new_label.fit_content = true
_container.add_child(new_label)
_ordered_labels.push_back(new_label)
func showMessage(text):
if _ordered_labels.size() >= 9:
_message_queue.append(text)
return
_add_message(text)
if _ordered_labels.size() > 1:
return
var timeout = 10.0
while !_ordered_labels.is_empty():
await get_tree().create_timer(timeout).timeout
var to_remove = _ordered_labels.pop_front()
var to_tween = get_tree().create_tween().bind_node(to_remove)
to_tween.tween_property(to_remove, "modulate:a", 0.0, 0.5)
to_tween.tween_callback(to_remove.queue_free)
if !_message_queue.is_empty():
var next_msg = _message_queue.pop_front()
_add_message(next_msg)
if timeout > 4:
timeout -= 3