diff options
Diffstat (limited to 'client/menu/document')
| -rw-r--r-- | client/menu/document/document.gd | 28 | 
1 files changed, 21 insertions, 7 deletions
| diff --git a/client/menu/document/document.gd b/client/menu/document/document.gd index 194b88d1..5c620213 100644 --- a/client/menu/document/document.gd +++ b/client/menu/document/document.gd @@ -18,6 +18,8 @@ extends Menu  const MARGIN: int = 75 +var labels := {} +  func _ready():  	super()  	$ScrollContainer/VBoxContainer.add_child(build_document(data)) @@ -45,8 +47,12 @@ func build_document(element: Dictionary, bullet: bool = false) -> Control:  				margin.add_child(background(element["background"]))  			margin.add_child(vbox)  			for e in element["es"]: -				vbox.add_child(build_document(e)) +				vbox.add_child(build_document(e, bullet))  			node.add_child(margin) +		"label": +			var label_id = element["id"] +			node = build_document(element["e"], bullet) +			labels[label_id] = node  		"list":  			node = VBoxContainer.new()  			node.name = "List" @@ -62,17 +68,20 @@ func build_document(element: Dictionary, bullet: bool = false) -> Control:  				row.size_flags_horizontal = Control.SIZE_EXPAND_FILL  				row.name = "Row%d" % r  				for c in element["es"][r]: -					var e = build_document(c) +					var e = build_document(c, bullet)  					e.size_flags_horizontal = Control.SIZE_EXPAND_FILL  					row.add_child(e)  		"par":  			node = VBoxContainer.new()  			node.name = "Paragraph"  			for e in element["es"]: -				node.add_child(build_document(e)) +				node.add_child(build_document(e, bullet)) +		#"ref": +		#	TODO, implement later  		"text":  			node = text_node(element, bullet)  		_: +			node = Control.new()  			push_error("Error building document: Unknown type \"%s\"" % element["t"])  	return node @@ -86,8 +95,11 @@ func text_node(element: Dictionary, bullet: bool) -> Control:  		bullet_label.text = "•"  		if element.get("size"):  			bullet_label.add_theme_font_size_override("font_size", element["size"]) -		if element.get("color"): -			bullet_label.add_theme_color_override("font_color", Color(element["color"])) +		# TODO: Ignore font color for now. Will be removed in the future. +		# if element.get("color"): +		#	bullet_label.add_theme_color_override("font_color", Color(element["color"])) +		bullet_label.add_theme_color_override("font_color", Color.BLACK) +		label.add_theme_color_override("font_color", Color.BLACK)  		node.add_child(bullet_label)  		label.size_flags_horizontal = Control.SIZE_EXPAND_FILL  		node.add_child(label) @@ -102,8 +114,10 @@ func text_node(element: Dictionary, bullet: bool) -> Control:  				node.add_theme_font_override("font", preload("res://menu/theme/fonts/font-sansita-swashed.woff2"))  	if element.get("size"):  		node.add_theme_font_size_override("font_size", element["size"]) -	if element.get("color"): -		label.add_theme_color_override("font_color", Color(element["color"])) +	# TODO: Ignore font color for now. Will be removed in the future. +	# if element.get("color"): +	# 	label.add_theme_color_override("font_color", Color(element["color"])) +	label.add_theme_color_override("font_color", Color.BLACK)  	return node  func background(background_name: String) -> SubViewportContainer: | 
