diff options
-rw-r--r-- | Characters/Character.gd | 2 | ||||
-rw-r--r-- | Characters/Dove.tscn | 4 | ||||
-rw-r--r-- | Characters/Duck.tscn | 4 | ||||
-rw-r--r-- | Characters/Elephant.tscn | 4 | ||||
-rw-r--r-- | Characters/Monkey.gd | 2 | ||||
-rw-r--r-- | Characters/Monkey.tscn | 4 | ||||
-rw-r--r-- | Characters/Pidgin.tscn | 4 | ||||
-rw-r--r-- | Characters/Tux.tscn | 2 | ||||
-rw-r--r-- | Levels/Level.gd | 14 | ||||
-rw-r--r-- | Network/Lobby.gd | 67 | ||||
-rw-r--r-- | Network/Lobby.tscn | 64 | ||||
-rw-r--r-- | Network/Network.gd | 6 | ||||
-rw-r--r-- | UI/CharacterSelect.gd | 18 | ||||
-rw-r--r-- | UI/CharacterSelect.tscn | 1246 | ||||
-rw-r--r-- | UI/GameOver.gd | 4 | ||||
-rw-r--r-- | UI/GameOver.tscn | 57 |
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"] |