online multiplayer chess game (note server currently down)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
extends PanelContainer
class_name MessageList

onready var labels = find_node("labels")
onready var scroller = find_node("scroller")
onready var scrollbar = scroller.get_v_scrollbar()

var tween := Tween.new()


func _ready():
	add_child(tween)


func add_label(bbcode: String):
	var l := RichTextLabel.new()
	l.bbcode_enabled = true
	l.scroll_active = false
	labels.add_child(l)
	l.connect("meta_clicked", self, "open_url")
	l.bbcode_text = bbcode
	l.fit_content_height = true
	tween.interpolate_property(scrollbar, "value", scrollbar.value, scrollbar.max_value, .5, Tween.TRANS_BOUNCE)
	tween.start()


func open_url(meta):
	OS.shell_open(str(meta))