summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2023-12-25 00:21:50 +0100
committerDaniel Weipert <git@mail.dweipert.de>2023-12-25 00:21:50 +0100
commit0bfda86c29d106df5fa3dd16d925c193b3f726c7 (patch)
tree7d248694a63c346f5e82510b50405e34f8d5afe5
parent09794cc76678247592ceb4e8b37e1ab129356466 (diff)
UI + HUD alignmentv2.0.0
-rw-r--r--Characters/Character.gd2
-rw-r--r--Characters/Dove.tscn4
-rw-r--r--Characters/Duck.tscn4
-rw-r--r--Characters/Elephant.tscn4
-rw-r--r--Characters/Monkey.gd2
-rw-r--r--Characters/Monkey.tscn4
-rw-r--r--Characters/Pidgin.tscn4
-rw-r--r--Characters/Tux.tscn2
-rw-r--r--Levels/Level.gd14
-rw-r--r--Network/Lobby.gd67
-rw-r--r--Network/Lobby.tscn64
-rw-r--r--Network/Network.gd6
-rw-r--r--UI/CharacterSelect.gd18
-rw-r--r--UI/CharacterSelect.tscn1246
-rw-r--r--UI/GameOver.gd4
-rw-r--r--UI/GameOver.tscn57
16 files changed, 1227 insertions, 275 deletions
diff --git a/Characters/Character.gd b/Characters/Character.gd
index b9bcd16..fc33096 100644
--- a/Characters/Character.gd
+++ b/Characters/Character.gd
@@ -6,7 +6,7 @@ const JUMPFORCE = -500
const GRAVITY = 20
const RUNSPEED = SPEED * 2
const WALLJUMPFORCE = JUMPFORCE * 0.75
-const WALLJUMPSPEED = SPEED * 8
+var WALLJUMPSPEED = SPEED * 8
var direction = Enum.DIRECTION.RIGHT
diff --git a/Characters/Dove.tscn b/Characters/Dove.tscn
index 0871bfa..de4df62 100644
--- a/Characters/Dove.tscn
+++ b/Characters/Dove.tscn
@@ -110,3 +110,7 @@ shape = SubResource("2")
target_position = Vector2(0, 150)
[node name="CheckFallLanding" type="RayCast2D" parent="."]
+
+[node name="WalljumpTimer" type="Timer" parent="."]
+wait_time = 0.1
+one_shot = true
diff --git a/Characters/Duck.tscn b/Characters/Duck.tscn
index ea974d8..24fcddb 100644
--- a/Characters/Duck.tscn
+++ b/Characters/Duck.tscn
@@ -110,3 +110,7 @@ shape = SubResource("2")
target_position = Vector2(0, 150)
[node name="CheckFallLanding" type="RayCast2D" parent="."]
+
+[node name="WalljumpTimer" type="Timer" parent="."]
+wait_time = 0.1
+one_shot = true
diff --git a/Characters/Elephant.tscn b/Characters/Elephant.tscn
index d0f9c73..1d664ae 100644
--- a/Characters/Elephant.tscn
+++ b/Characters/Elephant.tscn
@@ -80,3 +80,7 @@ animation = &"idle"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(2.38419e-07, 1.5)
shape = SubResource("2")
+
+[node name="WalljumpTimer" type="Timer" parent="."]
+wait_time = 0.1
+one_shot = true
diff --git a/Characters/Monkey.gd b/Characters/Monkey.gd
index b7c6d31..d39d9f8 100644
--- a/Characters/Monkey.gd
+++ b/Characters/Monkey.gd
@@ -2,4 +2,4 @@ extends "res://Characters/Character.gd"
func _ready():
- pass
+ WALLJUMPSPEED = SPEED * 10
diff --git a/Characters/Monkey.tscn b/Characters/Monkey.tscn
index 0c1889a..c86bbf0 100644
--- a/Characters/Monkey.tscn
+++ b/Characters/Monkey.tscn
@@ -80,3 +80,7 @@ animation = &"idle"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(2.38419e-07, -2.38419e-07)
shape = SubResource("2")
+
+[node name="WalljumpTimer" type="Timer" parent="."]
+wait_time = 0.1
+one_shot = true
diff --git a/Characters/Pidgin.tscn b/Characters/Pidgin.tscn
index 5410b71..4085500 100644
--- a/Characters/Pidgin.tscn
+++ b/Characters/Pidgin.tscn
@@ -110,3 +110,7 @@ shape = SubResource("2")
target_position = Vector2(0, 150)
[node name="CheckFallLanding" type="RayCast2D" parent="."]
+
+[node name="WalljumpTimer" type="Timer" parent="."]
+wait_time = 0.1
+one_shot = true
diff --git a/Characters/Tux.tscn b/Characters/Tux.tscn
index 6a5b6de..3da5f79 100644
--- a/Characters/Tux.tscn
+++ b/Characters/Tux.tscn
@@ -113,5 +113,5 @@ target_position = Vector2(0, 150)
[node name="CheckFallLanding" type="RayCast2D" parent="."]
[node name="WalljumpTimer" type="Timer" parent="."]
-wait_time = 0.25
+wait_time = 0.1
one_shot = true
diff --git a/Levels/Level.gd b/Levels/Level.gd
index d7ea0c9..0706b0b 100644
--- a/Levels/Level.gd
+++ b/Levels/Level.gd
@@ -12,6 +12,7 @@ var CancelButton = preload("res://UI/HUD/CancelButton.tscn").instantiate()
func _ready():
self.set_hud()
+ get_tree().get_root().size_changed.connect(Callable(self, 'resize_hud'))
var character = load("res://Characters/" + Network.player.character + ".tscn").instantiate()
self.set_player(character)
@@ -28,17 +29,20 @@ func _input(event):
func set_hud():
+ self.HUD.add_child(self.LabelTimer)
+ self.HUD.add_child(self.LevelMap)
+ self.HUD.add_child(self.CancelButton)
+ self.add_child(self.HUD)
+
+ self.resize_hud()
+
+func resize_hud():
self.LabelTimer.position.x = 3
self.LevelMap.position.x = get_viewport_rect().end.x - self.LevelMap.size.x
self.CancelButton.position.x = get_viewport_rect().end.x - self.CancelButton.size.x
self.CancelButton.position.y = get_viewport_rect().end.y - self.CancelButton.size.y
-
- self.HUD.add_child(self.LabelTimer)
- self.HUD.add_child(self.LevelMap)
- self.HUD.add_child(self.CancelButton)
- self.add_child(self.HUD)
func set_player(character: CharacterBody2D):
diff --git a/Network/Lobby.gd b/Network/Lobby.gd
index 67a1f34..80b663b 100644
--- a/Network/Lobby.gd
+++ b/Network/Lobby.gd
@@ -1,6 +1,12 @@
extends Control
+var ConnectNodeContainer: Node
+var ConnectNode: Node
+var PlayersNodeContainer: Node
+var PlayersNode: Node
+
+
func _ready():
Network.connect("connection_succeeded", Callable(self, "_on_connection_succeeded"))
Network.connect("connection_failed", Callable(self, "_on_connection_failed"))
@@ -9,13 +15,18 @@ func _ready():
Network.connect("game_ended", Callable(self, "_on_game_ended"))
$HTTPRequest.connect("request_completed", Callable(self, '_set_remote_ip'))
+ ConnectNodeContainer = $CenterContainer
+ ConnectNode = $CenterContainer/Connect
+ PlayersNodeContainer = $CenterContainer2
+ PlayersNode = $CenterContainer2/Players
+
if OS.has_environment("USERNAME"):
- $Connect/Name.text = OS.get_environment("USERNAME")
+ ConnectNode.get_node("Name").text = OS.get_environment("USERNAME")
elif OS.has_environment("USER"):
- $Connect/Name.text = OS.get_environment("USER")
+ ConnectNode.get_node("Name").text = OS.get_environment("USER")
else:
var desktop_path = OS.get_system_dir(0).replace("\\", "/").split("/")
- $Connect/Name.text = desktop_path[desktop_path.size() - 2]
+ ConnectNode.get_node("Name").text = desktop_path[desktop_path.size() - 2]
# show lobby if we're already connected somewhere
if Network.peer != null:
@@ -25,20 +36,20 @@ func _ready():
func disable_connect_buttons(is_disabled = true):
- $Connect/Host.disabled = is_disabled
- $Connect/Join.disabled = is_disabled
+ ConnectNode.get_node("Host").disabled = is_disabled
+ ConnectNode.get_node("Join").disabled = is_disabled
func refresh_lobby():
var players = Network.players.values()
var player = Network.player
- $Players/List.clear()
- $Players/List.add_item(player.name + " (You)")
+ PlayersNode.get_node("List").clear()
+ PlayersNode.get_node("List").add_item(player.name + " (You)")
for p in players:
- $Players/List.add_item(p.name)
+ PlayersNode.get_node("List").add_item(p.name)
- $Players/Start.disabled = not multiplayer.is_server()
+ PlayersNode.get_node("Start").disabled = not multiplayer.is_server()
func set_ip():
@@ -48,29 +59,29 @@ func set_ip():
func set_local_ip():
for ip in IP.get_local_addresses():
if ip.begins_with("192.168"):
- $Players/LocalIP.text = ip
+ PlayersNode.get_node("LocalIP").text = ip
break
func set_remote_ip():
- $Players/RemoteIP.text = ""
+ PlayersNode.get_node("RemoteIP").text = ""
$HTTPRequest.request("https://ipv4.icanhazip.com/")
func _set_remote_ip(_result, response_code, _headers, body):
if response_code == 200:
- $Players/RemoteIP.text = body.get_string_from_utf8()
+ PlayersNode.get_node("RemoteIP").text = body.get_string_from_utf8()
else:
- $Players/RemoteIP.text = "Remote IP request failed!"
+ PlayersNode.get_node("RemoteIP").text = "Remote IP request failed!"
self._on_game_error("Remote IP request failed!")
func _on_connection_succeeded():
- $Connect.hide()
- $Players.show()
+ ConnectNodeContainer.hide()
+ PlayersNodeContainer.show()
func _on_connection_failed():
self.disable_connect_buttons()
- $Connect/Error.set_text("Connection failed!")
+ ConnectNode.get_node("Error").set_text("Connection failed!")
func _on_game_error(error):
@@ -81,34 +92,34 @@ func _on_game_error(error):
func _on_game_ended():
self.show()
- $Connect.show()
- $Players.hide()
+ ConnectNodeContainer.show()
+ PlayersNodeContainer.hide()
self.disable_connect_buttons()
func _on_Host_pressed():
- $Connect.hide()
- $Players.show()
- $Connect/Error.text = ""
+ ConnectNodeContainer.hide()
+ PlayersNodeContainer.show()
+ ConnectNode.get_node("Error").text = ""
self.set_ip()
- var player_name = $Connect/Name.text
+ var player_name = ConnectNode.get_node("Name").text
Network.host_game(player_name)
self.refresh_lobby()
func _on_Join_pressed():
- var ip = $Connect/IP.text
+ var ip = ConnectNode.get_node("IP").text
if not ip.is_valid_ip_address():
- $Connect/Error.text = "Invalid IP address!"
+ ConnectNode.get_node("Error").text = "Invalid IP address!"
return
- $Connect/Error.text = ""
+ ConnectNode.get_node("Error").text = ""
self.disable_connect_buttons(false)
self.set_ip()
- var player_name = $Connect/Name.text
+ var player_name = ConnectNode.get_node("Name").text
Network.join_game(ip, player_name)
@@ -117,6 +128,6 @@ func _on_Start_pressed():
func _on_Back_pressed():
- $Connect.show()
- $Players.hide()
+ ConnectNodeContainer.show()
+ PlayersNodeContainer.hide()
Network.leave_game()
diff --git a/Network/Lobby.tscn b/Network/Lobby.tscn
index f0b2622..60bf28e 100644
--- a/Network/Lobby.tscn
+++ b/Network/Lobby.tscn
@@ -12,14 +12,19 @@ grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1")
-[node name="Connect" type="Panel" parent="."]
-layout_mode = 0
-offset_left = 424.0
-offset_top = 232.0
-offset_right = 600.0
-offset_bottom = 376.0
+[node name="CenterContainer" type="CenterContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
-[node name="Name" type="LineEdit" parent="Connect"]
+[node name="Connect" type="Panel" parent="CenterContainer"]
+custom_minimum_size = Vector2(180, 150)
+layout_mode = 2
+
+[node name="Name" type="LineEdit" parent="CenterContainer/Connect"]
layout_mode = 0
offset_left = 8.0
offset_top = 8.0
@@ -27,7 +32,7 @@ offset_right = 168.0
offset_bottom = 32.0
placeholder_text = "Name"
-[node name="IP" type="LineEdit" parent="Connect"]
+[node name="IP" type="LineEdit" parent="CenterContainer/Connect"]
layout_mode = 0
offset_left = 8.0
offset_top = 40.0
@@ -35,7 +40,7 @@ offset_right = 168.0
offset_bottom = 64.0
placeholder_text = "IP"
-[node name="Host" type="Button" parent="Connect"]
+[node name="Host" type="Button" parent="CenterContainer/Connect"]
layout_mode = 0
offset_left = 8.0
offset_top = 112.0
@@ -43,7 +48,7 @@ offset_right = 64.0
offset_bottom = 136.0
text = "Host"
-[node name="Join" type="Button" parent="Connect"]
+[node name="Join" type="Button" parent="CenterContainer/Connect"]
layout_mode = 0
offset_left = 112.0
offset_top = 112.0
@@ -51,7 +56,7 @@ offset_right = 168.0
offset_bottom = 136.0
text = "Join"
-[node name="Error" type="Label" parent="Connect"]
+[node name="Error" type="Label" parent="CenterContainer/Connect"]
layout_mode = 0
offset_left = 8.0
offset_top = 72.0
@@ -59,15 +64,20 @@ offset_right = 168.0
offset_bottom = 104.0
theme_override_colors/font_color = Color(1, 0.137255, 0.137255, 1)
-[node name="Players" type="Panel" parent="."]
+[node name="CenterContainer2" type="CenterContainer" parent="."]
visible = false
-layout_mode = 0
-offset_left = 384.0
-offset_top = 48.0
-offset_right = 640.0
-offset_bottom = 512.0
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Players" type="Panel" parent="CenterContainer2"]
+custom_minimum_size = Vector2(260, 460)
+layout_mode = 2
-[node name="Label" type="Label" parent="Players"]
+[node name="Label" type="Label" parent="CenterContainer2/Players"]
layout_mode = 0
offset_left = 16.0
offset_top = 16.0
@@ -75,7 +85,7 @@ offset_right = 64.0
offset_bottom = 32.0
text = "Lobby"
-[node name="LocalIP" type="Label" parent="Players"]
+[node name="LocalIP" type="Label" parent="CenterContainer2/Players"]
layout_mode = 0
offset_left = 128.0
offset_top = 24.0
@@ -83,7 +93,7 @@ offset_right = 240.0
offset_bottom = 38.0
text = "000.000.000.000"
-[node name="RemoteIP" type="Label" parent="Players"]
+[node name="RemoteIP" type="Label" parent="CenterContainer2/Players"]
layout_mode = 0
offset_left = 128.0
offset_top = 8.0
@@ -91,14 +101,14 @@ offset_right = 240.0
offset_bottom = 22.0
text = "000.000.000.000"
-[node name="List" type="ItemList" parent="Players"]
+[node name="List" type="ItemList" parent="CenterContainer2/Players"]
layout_mode = 0
offset_left = 16.0
offset_top = 48.0
offset_right = 240.0
offset_bottom = 400.0
-[node name="Start" type="Button" parent="Players"]
+[node name="Start" type="Button" parent="CenterContainer2/Players"]
layout_mode = 0
offset_left = 64.0
offset_top = 416.0
@@ -106,7 +116,7 @@ offset_right = 192.0
offset_bottom = 448.0
text = "START!"
-[node name="Back" type="Button" parent="Players"]
+[node name="Back" type="Button" parent="CenterContainer2/Players"]
layout_mode = 0
offset_left = 16.0
offset_top = 416.0
@@ -128,7 +138,7 @@ offset_bottom = 32.0
[node name="HTTPRequest" type="HTTPRequest" parent="."]
-[connection signal="pressed" from="Connect/Host" to="." method="_on_Host_pressed"]
-[connection signal="pressed" from="Connect/Join" to="." method="_on_Join_pressed"]
-[connection signal="pressed" from="Players/Start" to="." method="_on_Start_pressed"]
-[connection signal="pressed" from="Players/Back" to="." method="_on_Back_pressed"]
+[connection signal="pressed" from="CenterContainer/Connect/Host" to="." method="_on_Host_pressed"]
+[connection signal="pressed" from="CenterContainer/Connect/Join" to="." method="_on_Join_pressed"]
+[connection signal="pressed" from="CenterContainer2/Players/Start" to="." method="_on_Start_pressed"]
+[connection signal="pressed" from="CenterContainer2/Players/Back" to="." method="_on_Back_pressed"]
diff --git a/Network/Network.gd b/Network/Network.gd
index 0b3e379..ff076a4 100644
--- a/Network/Network.gd
+++ b/Network/Network.gd
@@ -14,8 +14,7 @@ const PORT = 10567
const MAX_PEERS = 2
-var peer = null
-var ip = null
+var peer: ENetMultiplayerPeer = null
var player = {
idx = 0,
@@ -59,7 +58,6 @@ func host_game(player_name):
self.peer = ENetMultiplayerPeer.new()
self.peer.create_server(self.PORT, self.MAX_PEERS)
multiplayer.multiplayer_peer = self.peer
- #get_tree().set_multiplayer_peer(self.peer)
func join_game(ip, player_name):
@@ -67,13 +65,11 @@ func join_game(ip, player_name):
self.peer = ENetMultiplayerPeer.new()
self.peer.create_client(ip, self.PORT)
multiplayer.multiplayer_peer = self.peer
- #get_tree().set_multiplayer_peer(self.peer)
func leave_game():
rpc("_leave_game")
multiplayer.multiplayer_peer = null
- #get_tree().set_multiplayer_peer(null)
@rpc("any_peer") func _leave_game():
diff --git a/UI/CharacterSelect.gd b/UI/CharacterSelect.gd
index 6ae7de0..348ef22 100644
--- a/UI/CharacterSelect.gd
+++ b/UI/CharacterSelect.gd
@@ -1,4 +1,4 @@
-extends Panel
+extends Control
var players_selected = {}
@@ -12,17 +12,20 @@ func _ready():
self.style_selected.set_bg_color(self.bg_color_selected)
self.style_deselected.set_bg_color(Color(0, 0, 0, 0))
self.set_Wait_text()
+
+ if multiplayer.is_server():
+ $Panel/VBoxContainer/StartButton.visible = true
func set_Wait_text():
- $Wait.text = "Waiting for " + str(Network.get_player_count() - self.players_selected.size()) + " players to choose"
+ $Panel/VBoxContainer/MarginContainer/Wait.text = "Waiting for " + str(Network.get_player_count() - self.players_selected.size()) + " players to choose"
func set_bg_color_selected(character, previous_character = null):
if previous_character:
- get_node(previous_character + "Panel").set("theme_override_styles/panel", self.style_deselected)
+ get_node("Panel/VBoxContainer/GridContainer/" + previous_character + "Panel").set("theme_override_styles/panel", self.style_deselected)
- get_node(character + "Panel").set("theme_override_styles/panel", self.style_selected)
+ get_node("Panel/VBoxContainer/GridContainer/" + character + "Panel").set("theme_override_styles/panel", self.style_selected)
func _button_pressed(event, character):
@@ -41,4 +44,9 @@ func _button_pressed(event, character):
self.set_Wait_text()
if Network.get_player_count() == self.players_selected.size():
- get_tree().change_scene_to_file("res://UI/LevelSelect.tscn")
+ if multiplayer.is_server():
+ $Panel/VBoxContainer/StartButton.disabled = false
+
+
+func _on_start_button_pressed():
+ get_tree().change_scene_to_file("res://UI/LevelSelect.tscn")
diff --git a/UI/CharacterSelect.tscn b/UI/CharacterSelect.tscn
index 79d7970..0f87047 100644
--- a/UI/CharacterSelect.tscn
+++ b/UI/CharacterSelect.tscn
@@ -1,182 +1,1080 @@
-[gd_scene load_steps=11 format=2]
+[gd_scene load_steps=12 format=3 uid="uid://btwousyi6j140"]
-[ext_resource path="res://Assets/Characters/Tux/Front.png" type="Texture2D" id=1]
-[ext_resource path="res://Assets/Characters/Duck/Front.png" type="Texture2D" id=2]
-[ext_resource path="res://Assets/Fonts/geometry-soft-pro/Geometry_Soft_Pro-Bold_N.otf" type="FontFile" id=3]
-[ext_resource path="res://UI/CharacterSelect.gd" type="Script" id=4]
-[ext_resource path="res://Assets/Characters/Dove/Front.png" type="Texture2D" id=5]
-[ext_resource path="res://Assets/Characters/Monkey/Front.png" type="Texture2D" id=6]
-[ext_resource path="res://Assets/Characters/Pidgin/Front.png" type="Texture2D" id=7]
-[ext_resource path="res://Assets/Characters/Elephant/Front.png" type="Texture2D" id=8]
+[ext_resource type="Texture2D" uid="uid://fg3wtt3q51ly" path="res://Assets/Characters/Tux/Front.png" id="1"]
+[ext_resource type="Texture2D" uid="uid://dibcyc08wpu0a" path="res://Assets/Characters/Duck/Front.png" id="2"]
+[ext_resource type="FontFile" uid="uid://qbiaulowpomb" path="res://Assets/Fonts/geometry-soft-pro/Geometry_Soft_Pro-Bold_N.otf" id="3"]
+[ext_resource type="Script" path="res://UI/CharacterSelect.gd" id="4"]
+[ext_resource type="Texture2D" uid="uid://b2h82tdfbogjx" path="res://Assets/Characters/Dove/Front.png" id="5"]
+[ext_resource type="Texture2D" uid="uid://c338yichhecvr" path="res://Assets/Characters/Monkey/Front.png" id="6"]
+[ext_resource type="Texture2D" uid="uid://cnuotyqgyqplm" path="res://Assets/Characters/Pidgin/Front.png" id="7"]
+[ext_resource type="Texture2D" uid="uid://bfr2ek0h8rveb" path="res://Assets/Characters/Elephant/Front.png" id="8"]
-[sub_resource type="FontFile" id=1]
-size = 52
-font_data = ExtResource( 3 )
+[sub_resource type="FontFile" id="1"]
+fallbacks = Array[Font]([ExtResource("3")])
+cache/0/16/0/ascent = 0.0
+cache/0/16/0/descent = 0.0
+cache/0/16/0/underline_position = 0.0
+cache/0/16/0/underline_thickness = 0.0
+cache/0/16/0/scale = 1.0
+cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/16/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/17/0/ascent = 0.0
+cache/0/17/0/descent = 0.0
+cache/0/17/0/underline_position = 0.0
+cache/0/17/0/underline_thickness = 0.0
+cache/0/17/0/scale = 1.0
+cache/0/17/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/17/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/18/0/ascent = 0.0
+cache/0/18/0/descent = 0.0
+cache/0/18/0/underline_position = 0.0
+cache/0/18/0/underline_thickness = 0.0
+cache/0/18/0/scale = 1.0
+cache/0/18/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/18/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/19/0/ascent = 0.0
+cache/0/19/0/descent = 0.0
+cache/0/19/0/underline_position = 0.0
+cache/0/19/0/underline_thickness = 0.0
+cache/0/19/0/scale = 1.0
+cache/0/19/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/19/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/20/0/ascent = 0.0
+cache/0/20/0/descent = 0.0
+cache/0/20/0/underline_position = 0.0
+cache/0/20/0/underline_thickness = 0.0
+cache/0/20/0/scale = 1.0
+cache/0/20/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/20/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/21/0/ascent = 0.0
+cache/0/21/0/descent = 0.0
+cache/0/21/0/underline_position = 0.0
+cache/0/21/0/underline_thickness = 0.0
+cache/0/21/0/scale = 1.0
+cache/0/21/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/21/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/22/0/ascent = 0.0
+cache/0/22/0/descent = 0.0
+cache/0/22/0/underline_position = 0.0
+cache/0/22/0/underline_thickness = 0.0
+cache/0/22/0/scale = 1.0
+cache/0/22/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/22/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/23/0/ascent = 0.0
+cache/0/23/0/descent = 0.0
+cache/0/23/0/underline_position = 0.0
+cache/0/23/0/underline_thickness = 0.0
+cache/0/23/0/scale = 1.0
+cache/0/23/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/23/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/24/0/ascent = 0.0
+cache/0/24/0/descent = 0.0
+cache/0/24/0/underline_position = 0.0
+cache/0/24/0/underline_thickness = 0.0
+cache/0/24/0/scale = 1.0
+cache/0/24/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/24/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/25/0/ascent = 0.0
+cache/0/25/0/descent = 0.0
+cache/0/25/0/underline_position = 0.0
+cache/0/25/0/underline_thickness = 0.0
+cache/0/25/0/scale = 1.0
+cache/0/25/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/25/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/26/0/ascent = 0.0
+cache/0/26/0/descent = 0.0
+cache/0/26/0/underline_position = 0.0
+cache/0/26/0/underline_thickness = 0.0
+cache/0/26/0/scale = 1.0
+cache/0/26/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/26/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/27/0/ascent = 0.0
+cache/0/27/0/descent = 0.0
+cache/0/27/0/underline_position = 0.0
+cache/0/27/0/underline_thickness = 0.0
+cache/0/27/0/scale = 1.0
+cache/0/27/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/27/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/28/0/ascent = 0.0
+cache/0/28/0/descent = 0.0
+cache/0/28/0/underline_position = 0.0
+cache/0/28/0/underline_thickness = 0.0
+cache/0/28/0/scale = 1.0
+cache/0/28/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/28/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/29/0/ascent = 0.0
+cache/0/29/0/descent = 0.0
+cache/0/29/0/underline_position = 0.0
+cache/0/29/0/underline_thickness = 0.0
+cache/0/29/0/scale = 1.0
+cache/0/29/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/29/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/30/0/ascent = 0.0
+cache/0/30/0/descent = 0.0
+cache/0/30/0/underline_position = 0.0
+cache/0/30/0/underline_thickness = 0.0
+cache/0/30/0/scale = 1.0
+cache/0/30/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/30/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/31/0/ascent = 0.0
+cache/0/31/0/descent = 0.0
+cache/0/31/0/underline_position = 0.0
+cache/0/31/0/underline_thickness = 0.0
+cache/0/31/0/scale = 1.0
+cache/0/31/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/31/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/32/0/ascent = 0.0
+cache/0/32/0/descent = 0.0
+cache/0/32/0/underline_position = 0.0
+cache/0/32/0/underline_thickness = 0.0
+cache/0/32/0/scale = 1.0
+cache/0/32/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/32/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/33/0/ascent = 0.0
+cache/0/33/0/descent = 0.0
+cache/0/33/0/underline_position = 0.0
+cache/0/33/0/underline_thickness = 0.0
+cache/0/33/0/scale = 1.0
+cache/0/33/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/33/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/34/0/ascent = 0.0
+cache/0/34/0/descent = 0.0
+cache/0/34/0/underline_position = 0.0
+cache/0/34/0/underline_thickness = 0.0
+cache/0/34/0/scale = 1.0
+cache/0/34/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/34/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/35/0/ascent = 0.0
+cache/0/35/0/descent = 0.0
+cache/0/35/0/underline_position = 0.0
+cache/0/35/0/underline_thickness = 0.0
+cache/0/35/0/scale = 1.0
+cache/0/35/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/35/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/36/0/ascent = 0.0
+cache/0/36/0/descent = 0.0
+cache/0/36/0/underline_position = 0.0
+cache/0/36/0/underline_thickness = 0.0
+cache/0/36/0/scale = 1.0
+cache/0/36/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/36/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/37/0/ascent = 0.0
+cache/0/37/0/descent = 0.0
+cache/0/37/0/underline_position = 0.0
+cache/0/37/0/underline_thickness = 0.0
+cache/0/37/0/scale = 1.0
+cache/0/37/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/37/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/38/0/ascent = 0.0
+cache/0/38/0/descent = 0.0
+cache/0/38/0/underline_position = 0.0
+cache/0/38/0/underline_thickness = 0.0
+cache/0/38/0/scale = 1.0
+cache/0/38/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/38/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/39/0/ascent = 0.0
+cache/0/39/0/descent = 0.0
+cache/0/39/0/underline_position = 0.0
+cache/0/39/0/underline_thickness = 0.0
+cache/0/39/0/scale = 1.0
+cache/0/39/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/39/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/40/0/ascent = 0.0
+cache/0/40/0/descent = 0.0
+cache/0/40/0/underline_position = 0.0
+cache/0/40/0/underline_thickness = 0.0
+cache/0/40/0/scale = 1.0
+cache/0/40/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/40/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/41/0/ascent = 0.0
+cache/0/41/0/descent = 0.0
+cache/0/41/0/underline_position = 0.0
+cache/0/41/0/underline_thickness = 0.0
+cache/0/41/0/scale = 1.0
+cache/0/41/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/41/0/kerning_overrides/42/0 = Vector2(0, 0)
+cache/0/42/0/ascent = 0.0
+cache/0/42/0/descent = 0.0
+cache/0/42/0/underline_position = 0.0
+cache/0/42/0/underline_thickness = 0.0
+cache/0/42/0/scale = 1.0
+cache/0/42/0/glyphs/0/advance = Vector2(0, 0)
+cache/0/42/0/glyphs/0/offset = Vector2(0, 0)
+cache/0/42/0/glyphs/0/size = Vector2(0, 0)
+cache/0/42/0/glyphs/0/uv_rect = Rect2(0, 0, 0, 0)
+cache/0/42/0/glyphs/0/texture_idx = -1
+cache/0/42/0/kerning_overrides/16/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/17/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/18/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/19/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/20/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/21/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/22/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/23/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/24/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/25/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/26/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/27/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/28/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/29/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/30/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/31/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/32/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/33/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/34/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/35/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/36/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/37/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/38/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/39/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/40/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/41/0 = Vector2(0, 0)
+cache/0/42/0/kerning_overrides/42/0 = Vector2(0, 0)
-[sub_resource type="StyleBoxFlat" id=2]
-bg_color = Color( 1, 0.984314, 0.647059, 0 )
+[sub_resource type="LabelSettings" id="LabelSettings_prfti"]
+font_size = 42
-[node name="CharacterSelect" type="Panel"]
+[sub_resource type="StyleBoxFlat" id="2"]
+bg_color = Color(1, 0.984314, 0.647059, 0)
+
+[node name="CharacterSelect" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("4")
+
+[node name="Panel" type="Panel" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
+layout_mode = 1
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-offset_left = 32.0
-offset_top = 24.0
-offset_right = -24.0
-offset_bottom = -16.0
-script = ExtResource( 4 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="Title" type="Label" parent="."]
-offset_left = 176.0
-offset_top = 40.0
-offset_right = 724.0
-offset_bottom = 94.0
-theme_override_fonts/font = SubResource( 1 )
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Title" type="Label" parent="Panel/VBoxContainer"]
+custom_minimum_size = Vector2(0, 100)
+layout_mode = 2
+theme_override_fonts/font = SubResource("1")
text = "Choose your Character!"
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="Wait" type="Label" parent="."]
-offset_left = 544.0
-offset_top = 104.0
-offset_right = 741.0
-offset_bottom = 118.0
+label_settings = SubResource("LabelSettings_prfti")
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="MarginContainer" type="MarginContainer" parent="Panel/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/margin_right = 16
+
+[node name="Wait" type="Label" parent="Panel/VBoxContainer/MarginContainer"]
+layout_mode = 2
text = "Waiting for x players to choose"
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="TuxPanel" type="Panel" parent="."]
-offset_left = 96.0
-offset_top = 168.0
-offset_right = 176.0
-offset_bottom = 248.0
-theme_override_styles/panel = SubResource( 2 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="Tux" type="TextureRect" parent="TuxPanel"]
-offset_left = 8.0
-offset_top = 8.0
-offset_right = 40.0
-offset_bottom = 40.0
-scale = Vector2( 2, 2 )
-texture = ExtResource( 1 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="DuckPanel" type="Panel" parent="."]
-offset_left = 288.0
-offset_top = 168.0
-offset_right = 368.0
-offset_bottom = 248.0
-theme_override_styles/panel = SubResource( 2 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="Duck" type="TextureRect" parent="DuckPanel"]
-offset_left = 8.0
-offset_top = 8.0
-offset_right = 40.0
-offset_bottom = 40.0
-scale = Vector2( 2, 2 )
-texture = ExtResource( 2 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="DovePanel" type="Panel" parent="."]
-offset_left = 480.0
-offset_top = 168.0
-offset_right = 560.0
-offset_bottom = 248.0
-theme_override_styles/panel = SubResource( 2 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="Dove" type="TextureRect" parent="DovePanel"]
-offset_left = 8.0
-offset_top = 8.0
-offset_right = 40.0
-offset_bottom = 40.0
-scale = Vector2( 2, 2 )
-texture = ExtResource( 5 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="PidginPanel" type="Panel" parent="."]
-offset_left = 672.0
-offset_top = 168.0
-offset_right = 752.0
-offset_bottom = 248.0
-theme_override_styles/panel = SubResource( 2 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="Pidgin" type="TextureRect" parent="PidginPanel"]
-offset_left = 8.0
-offset_top = 8.0
-offset_right = 40.0
-offset_bottom = 40.0
-scale = Vector2( 2, 2 )
-texture = ExtResource( 7 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="MonkeyPanel" type="Panel" parent="."]
-offset_left = 96.0
-offset_top = 296.0
-offset_right = 176.0
-offset_bottom = 376.0
-theme_override_styles/panel = SubResource( 2 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="Monkey" type="TextureRect" parent="MonkeyPanel"]
-offset_left = 8.0
-offset_top = 8.0
-offset_right = 40.0
-offset_bottom = 40.0
-scale = Vector2( 2, 2 )
-texture = ExtResource( 6 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="ElephantPanel" type="Panel" parent="."]
-offset_left = 288.0
-offset_top = 296.0
-offset_right = 368.0
-offset_bottom = 376.0
-theme_override_styles/panel = SubResource( 2 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="Elephant" type="TextureRect" parent="ElephantPanel"]
-offset_left = 8.0
-offset_top = 8.0
-offset_right = 40.0
-offset_bottom = 40.0
-scale = Vector2( 2, 2 )
-texture = ExtResource( 8 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-[connection signal="gui_input" from="TuxPanel/Tux" to="." method="_button_pressed" binds= [ "Tux" ]]
-[connection signal="gui_input" from="DuckPanel/Duck" to="." method="_button_pressed" binds= [ "Duck" ]]
-[connection signal="gui_input" from="DovePanel/Dove" to="." method="_button_pressed" binds= [ "Dove" ]]
-[connection signal="gui_input" from="PidginPanel/Pidgin" to="." method="_button_pressed" binds= [ "Pidgin" ]]
-[connection signal="gui_input" from="MonkeyPanel/Monkey" to="." method="_button_pressed" binds= [ "Monkey" ]]
-[connection signal="gui_input" from="ElephantPanel/Elephant" to="." method="_button_pressed" binds= [ "Elephant" ]]
+horizontal_alignment = 2
+
+[node name="Header" type="Control" parent="Panel/VBoxContainer"]
+custom_minimum_size = Vector2(0, 100)
+layout_mode = 2
+
+[node name="GridContainer" type="HFlowContainer" parent="Panel/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+
+[node name="TuxPanel" type="Panel" parent="Panel/VBoxContainer/GridContainer"]
+custom_minimum_size = Vector2(150, 150)
+layout_mode = 2
+theme_override_styles/panel = SubResource("2")
+
+[node name="Tux" type="TextureRect" parent="Panel/VBoxContainer/GridContainer/TuxPanel"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -16.0
+offset_top = -16.0
+offset_right = 16.0
+offset_bottom = 16.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("1")
+
+[node name="DuckPanel" type="Panel" parent="Panel/VBoxContainer/GridContainer"]
+custom_minimum_size = Vector2(150, 150)
+layout_mode = 2
+theme_override_styles/panel = SubResource("2")
+
+[node name="Duck" type="TextureRect" parent="Panel/VBoxContainer/GridContainer/DuckPanel"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -32.0
+offset_top = -32.0
+offset_right = 32.0
+offset_bottom = 32.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("2")
+
+[node name="DovePanel" type="Panel" parent="Panel/VBoxContainer/GridContainer"]
+custom_minimum_size = Vector2(150, 150)
+layout_mode = 2
+theme_override_styles/panel = SubResource("2")
+
+[node name="Dove" type="TextureRect" parent="Panel/VBoxContainer/GridContainer/DovePanel"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -32.0
+offset_top = -32.0
+offset_right = 32.0
+offset_bottom = 32.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("5")
+
+[node name="PidginPanel" type="Panel" parent="Panel/VBoxContainer/GridContainer"]
+custom_minimum_size = Vector2(150, 150)
+layout_mode = 2
+theme_override_styles/panel = SubResource("2")
+
+[node name="Pidgin" type="TextureRect" parent="Panel/VBoxContainer/GridContainer/PidginPanel"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -16.0
+offset_top = -16.0
+offset_right = 16.0
+offset_bottom = 16.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("7")
+
+[node name="MonkeyPanel" type="Panel" parent="Panel/VBoxContainer/GridContainer"]
+custom_minimum_size = Vector2(150, 150)
+layout_mode = 2
+theme_override_styles/panel = SubResource("2")
+
+[node name="Monkey" type="TextureRect" parent="Panel/VBoxContainer/GridContainer/MonkeyPanel"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -16.0
+offset_top = -16.0
+offset_right = 16.0
+offset_bottom = 16.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("6")
+
+[node name="ElephantPanel" type="Panel" parent="Panel/VBoxContainer/GridContainer"]
+custom_minimum_size = Vector2(150, 150)
+layout_mode = 2
+theme_override_styles/panel = SubResource("2")
+
+[node name="Elephant" type="TextureRect" parent="Panel/VBoxContainer/GridContainer/ElephantPanel"]
+custom_minimum_size = Vector2(64, 64)
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -32.0
+offset_top = -32.0
+offset_right = 32.0
+offset_bottom = 32.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("8")
+
+[node name="StartButton" type="Button" parent="Panel/VBoxContainer"]
+visible = false
+custom_minimum_size = Vector2(0, 100)
+layout_mode = 2
+disabled = true
+text = "Start"
+
+[connection signal="gui_input" from="Panel/VBoxContainer/GridContainer/TuxPanel/Tux" to="." method="_button_pressed" binds= ["Tux"]]
+[connection signal="gui_input" from="Panel/VBoxContainer/GridContainer/DuckPanel/Duck" to="." method="_button_pressed" binds= ["Duck"]]
+[connection signal="gui_input" from="Panel/VBoxContainer/GridContainer/DovePanel/Dove" to="." method="_button_pressed" binds= ["Dove"]]
+[connection signal="gui_input" from="Panel/VBoxContainer/GridContainer/PidginPanel/Pidgin" to="." method="_button_pressed" binds= ["Pidgin"]]
+[connection signal="gui_input" from="Panel/VBoxContainer/GridContainer/MonkeyPanel/Monkey" to="." method="_button_pressed" binds= ["Monkey"]]
+[connection signal="gui_input" from="Panel/VBoxContainer/GridContainer/ElephantPanel/Elephant" to="." method="_button_pressed" binds= ["Elephant"]]
+[connection signal="pressed" from="Panel/VBoxContainer/StartButton" to="." method="_on_start_button_pressed"]
diff --git a/UI/GameOver.gd b/UI/GameOver.gd
index 8ff8309..13f3cfa 100644
--- a/UI/GameOver.gd
+++ b/UI/GameOver.gd
@@ -1,8 +1,8 @@
-extends Panel
+extends Control
func _ready():
- $Winner.text = Network.winning_player.name + " won!"
+ $Panel/VBoxContainer/Winner.text = Network.winning_player.name + " won!"
func _on_BackToLobby_pressed():
diff --git a/UI/GameOver.tscn b/UI/GameOver.tscn
index 7ab36bf..b5b919d 100644
--- a/UI/GameOver.tscn
+++ b/UI/GameOver.tscn
@@ -6,9 +6,6 @@
[sub_resource type="FontFile" id="1"]
fallbacks = Array[Font]([ExtResource("1")])
-face_index = null
-embolden = null
-transform = null
cache/0/16/0/ascent = 0.0
cache/0/16/0/descent = 0.0
cache/0/16/0/underline_position = 0.0
@@ -36,9 +33,6 @@ cache/0/128/0/kerning_overrides/128/0 = Vector2(0, 0)
[sub_resource type="FontFile" id="2"]
fallbacks = Array[Font]([ExtResource("2")])
-face_index = null
-embolden = null
-transform = null
cache/0/16/0/ascent = 0.0
cache/0/16/0/descent = 0.0
cache/0/16/0/underline_position = 0.0
@@ -54,38 +48,49 @@ cache/0/72/0/scale = 1.0
cache/0/72/0/kerning_overrides/16/0 = Vector2(0, 0)
cache/0/72/0/kerning_overrides/72/0 = Vector2(0, 0)
-[node name="GameOver" type="Panel"]
+[node name="GameOver" type="Control"]
+layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource("3")
-[node name="Title" type="Label" parent="."]
-layout_mode = 0
-offset_left = 219.0
-offset_top = 95.0
-offset_right = 913.0
-offset_bottom = 226.0
+[node name="Panel" type="Panel" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Title" type="Label" parent="Panel/VBoxContainer"]
+layout_mode = 2
theme_override_fonts/font = SubResource("1")
theme_override_font_sizes/font_size = 128
text = "GAME OVER"
+horizontal_alignment = 1
+vertical_alignment = 1
-[node name="Winner" type="Label" parent="."]
-layout_mode = 0
-offset_left = 394.0
-offset_top = 268.0
-offset_right = 763.0
-offset_bottom = 345.0
+[node name="Winner" type="Label" parent="Panel/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
theme_override_fonts/font = SubResource("2")
theme_override_font_sizes/font_size = 72
text = "NAME won!"
+horizontal_alignment = 1
+vertical_alignment = 1
-[node name="BackToLobby" type="Button" parent="."]
-layout_mode = 0
-offset_left = 500.0
-offset_top = 447.0
-offset_right = 628.0
-offset_bottom = 479.0
+[node name="BackToLobby" type="Button" parent="Panel/VBoxContainer"]
+custom_minimum_size = Vector2(0, 50)
+layout_mode = 2
text = "Back to Lobby"
-[connection signal="pressed" from="BackToLobby" to="." method="_on_BackToLobby_pressed"]
+[connection signal="pressed" from="Panel/VBoxContainer/BackToLobby" to="." method="_on_BackToLobby_pressed"]