From 5c9359eb6d4d5458bc4ae2fb1fb3c5ff0a8ce145 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Thu, 3 Dec 2020 17:38:06 -0500 Subject: [PATCH 01/22] Reorganized Chatbox --- src/assets/ui/lobbyui/chatbox/chatbox.tscn | 61 +----------------- .../elements/chatboxbase/chatboxbase.gd} | 13 +--- .../elements/chatboxbase/chatboxbase.tscn | 62 +++++++++++++++++++ src/assets/ui/lobbyui/votemenu/votemenu.tscn | 8 +++ 4 files changed, 75 insertions(+), 69 deletions(-) rename src/assets/ui/lobbyui/{chatbox/chatbox.gd => common/elements/chatboxbase/chatboxbase.gd} (93%) create mode 100644 src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn create mode 100644 src/assets/ui/lobbyui/votemenu/votemenu.tscn diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.tscn b/src/assets/ui/lobbyui/chatbox/chatbox.tscn index ba392567..5e98b3cd 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.tscn +++ b/src/assets/ui/lobbyui/chatbox/chatbox.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://assets/ui/lobbyui/chatbox/chatbox.gd" type="Script" id=1] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=2] +[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=3] [node name="chatbox" type="WindowDialog"] anchor_left = 0.3 @@ -12,62 +12,5 @@ rect_min_size = Vector2( 350, 250 ) theme = ExtResource( 2 ) window_title = "Chatbox" resizable = true -script = ExtResource( 1 ) -[node name="Control" type="Control" parent="."] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 10.0 -margin_top = 10.0 -margin_right = -10.0 -margin_bottom = -10.0 -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} - -[node name="chatboxText" type="RichTextLabel" parent="Control"] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_bottom = -65.0 -bbcode_enabled = true -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} - -[node name="HBoxContainer" type="HBoxContainer" parent="Control"] -anchor_top = 1.0 -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_top = -55.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="TextEdit" type="TextEdit" parent="Control/HBoxContainer"] -margin_right = 336.0 -margin_bottom = 55.0 -rect_min_size = Vector2( 150, 0 ) -size_flags_horizontal = 3 -fold_gutter = true -wrap_enabled = true -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} - -[node name="send" type="Button" parent="Control/HBoxContainer"] -margin_left = 340.0 -margin_right = 389.0 -margin_bottom = 55.0 -text = "Send" -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} -[connection signal="about_to_show" from="." to="." method="_on_chatbox_about_to_show"] -[connection signal="popup_hide" from="." to="." method="_on_chatbox_popup_hide"] -[connection signal="cursor_changed" from="Control/HBoxContainer/TextEdit" to="." method="_on_TextEdit_cursor_changed"] -[connection signal="text_changed" from="Control/HBoxContainer/TextEdit" to="." method="_on_TextEdit_text_changed"] -[connection signal="pressed" from="Control/HBoxContainer/send" to="." method="_on_send_pressed"] +[node name="chatboxbase" parent="." instance=ExtResource( 3 )] diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.gd b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd similarity index 93% rename from src/assets/ui/lobbyui/chatbox/chatbox.gd rename to src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd index 81a560a8..b199117c 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.gd +++ b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd @@ -1,7 +1,7 @@ -extends WindowDialogBase +extends Control -onready var chatbox = get_node("Control/chatboxText") -onready var textbox = get_node("Control/HBoxContainer/TextEdit") +onready var chatbox = get_node("chatboxText") +onready var textbox = get_node("HBoxContainer/TextEdit") var defaultColor: String = "white" var emptyChars: Array = [" ", " ", "\n", "\r", "\r\n"] #chars considered empty (spaces, tabs, etc.) @@ -13,7 +13,6 @@ var sentSide: String = "right" #side of chatbox sent messages are on var receivedSide: String = "left" #side of chatbox received messages are on func open(): - textbox.grab_focus() func sendMessage(content, color: String = defaultColor): @@ -92,9 +91,3 @@ func _on_TextEdit_cursor_changed(): textbox.center_viewport_to_cursor() cursorCoord.x = textbox.cursor_get_line() cursorCoord.y = textbox.cursor_get_column() - -func _on_chatbox_about_to_show(): - pass - -func _on_chatbox_popup_hide(): - pass diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn new file mode 100644 index 00000000..10689523 --- /dev/null +++ b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn @@ -0,0 +1,62 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=1] +[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd" type="Script" id=2] + +[node name="chatboxbase" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = 10.0 +margin_right = -10.0 +margin_bottom = -10.0 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="chatboxText" type="RichTextLabel" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_bottom = -65.0 +bbcode_enabled = true +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = -55.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextEdit" type="TextEdit" parent="HBoxContainer"] +margin_right = 951.0 +margin_bottom = 55.0 +rect_min_size = Vector2( 150, 0 ) +size_flags_horizontal = 3 +fold_gutter = true +wrap_enabled = true +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="send" type="Button" parent="HBoxContainer"] +margin_left = 955.0 +margin_right = 1004.0 +margin_bottom = 55.0 +text = "Send" +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} +[connection signal="cursor_changed" from="HBoxContainer/TextEdit" to="." method="_on_TextEdit_cursor_changed"] +[connection signal="text_changed" from="HBoxContainer/TextEdit" to="." method="_on_TextEdit_text_changed"] +[connection signal="pressed" from="HBoxContainer/send" to="." method="_on_send_pressed"] diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.tscn b/src/assets/ui/lobbyui/votemenu/votemenu.tscn new file mode 100644 index 00000000..d6dca9a9 --- /dev/null +++ b/src/assets/ui/lobbyui/votemenu/votemenu.tscn @@ -0,0 +1,8 @@ +[gd_scene format=2] + +[node name="votemenu" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} From 770b50ea92f8ddb024627048cbfca0d1cb952d7d Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Thu, 3 Dec 2020 23:30:17 -0500 Subject: [PATCH 02/22] Created vote screen and reorganized chatbox --- src/assets/common/themes/iso_dark.theme | Bin 5979 -> 5986 bytes src/assets/ui/hud/defaulthud/Button.gd | 5 +- src/assets/ui/hud/defaulthud/defaulthud.tscn | 14 +- src/assets/ui/lobbyui/chatbox/chatbox.gd | 4 + src/assets/ui/lobbyui/chatbox/chatbox.tscn | 4 +- .../elements/chatboxbase/chatboxbase.gd | 9 +- .../elements/chatboxbase/chatboxbase.tscn | 16 +-- .../votebuttongrid/VoteButtonGrid.tscn | 22 ++++ .../votebuttongrid/votebutton/votebutton.gd | 56 ++++++++ .../votebuttongrid/votebutton/votebutton.tscn | 91 +++++++++++++ .../votemenu/votebuttongrid/votebuttongrid.gd | 44 +++++++ src/assets/ui/lobbyui/votemenu/votemenu.gd | 17 +++ src/assets/ui/lobbyui/votemenu/votemenu.tscn | 121 +++++++++++++++++- 13 files changed, 385 insertions(+), 18 deletions(-) create mode 100644 src/assets/ui/lobbyui/chatbox/chatbox.gd create mode 100644 src/assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn create mode 100644 src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.gd create mode 100644 src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn create mode 100644 src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd create mode 100644 src/assets/ui/lobbyui/votemenu/votemenu.gd diff --git a/src/assets/common/themes/iso_dark.theme b/src/assets/common/themes/iso_dark.theme index c87de8a4f0c2eba215236c3aeed76b80e6d4b44c..6cf369a354676e54ed3e45aa8797da0b9b59943e 100644 GIT binary patch delta 1520 zcmV@BTX2{Uwpntx%PO=eta(>B9AYVJ_MaBp4KE>J)&Pf-7Y zD#2GT{wu-lc|B1Sqvds(Oy4KaaQ}t_s0*=~y2N{!$62z7xhOVnBE3PYaJgmGn-1kO z&_wc?bYtdg5%GsY*D^&Q)3luRX}`4R`)e4we5+4(P!udr>chOHyL{-5ri$=CM}Ije zh5@p3JH^KSBi4~y&Z^0lqHL;XNfJ##xY>?2f z@Yf<71oFd255YjdCY4%k{(te<@n`Ayv2yrbXdjOM>V}OPzZKtKwMRp5IzvVtUJMx5 zX{prei|eFTFO$i1(c-6K@lUNdcIwcX^Ownq1LqCpmEIMtexE* zo;#HRfmEnbSv0c;P6w~lm?Uw@(xu79%Jkz;Q-$GzQMI#p7x z=18A#<46CnfZNdr_cm`81`pkRN`K{X;uEX#PB80io;G28VH#c&YwYuS$7ZqJBp=o+ zc`Yx)9fKDL?eQHH-v`yaGvz^fe&Ew4dDQG$xanvYj_o6E)m|hsZ13`;xTk%7;ptoo zh_kp0wyH)-n}6RIjKTG->%?F$s#R5v@jKbEWj{+x?vB{ZxhdI)d3`+_7%ugR|E~?3 zYsl)(hcp54-Tn0b?Z?On--%D$gGbUee(Zq%sF#)R+&|yn8-_Nb7#eri8IM6b^V%zY zo*qy5ypudvF7S+-~{>Sm&wI8}prTp@#wbMB)L(eVexnF3Nc6h%?_Qxn}bJWk)O> zdbo4&JZLENwuf1?&CCyo(p`PgLe2Wme9X zMWLE;vq5W1UA27H0q4uKF@M0_lZ#bvvxc;XR^a9&kV&j@{HvjJqWb@xH!+W;Yb`_b WpjQLx)o-Wj`2_Cy;j=wbQ$s`4yz0{c delta 1513 zcmV~cu5QBjMwrvt%GYAeb9H;;R69fRD03a3u$%Fuq0eiqP zi{L@l2s76|&+G%_?V@pNu**o*elQ<_%nf%C2mFiuwNkm_A=E{11e@pGz+nG5m%3?e zy?CpKkYCzmb^=Nk!J6D4+P&WKld+}0DRqCQPtY?uviXe9Y{q7o$H^UX0NE=Pg$opr z%M;{ZFiz~>()T|si~me?OSJx{ktx@SZRn@n0Ae0Glb5&{W^;=dF)tc{JBV@W3n;XF z^$?-l3^_=425y{zn8cRlOP*27FF-zM8UIsWVKUbhbo#8WvCJZ0DX4G!w=Mn8O~!wf zVbEg%RWdOk6>;R68BNd{A#=)kV_g9jPuat#IA^rW+#|2ZfrADD7Akt{b0ciEg=Bb<%B*^9199>b;#J@g$~4K0}l)k zWE|S{6`CrJ)@-mSIC1tZ2nv1x008g+FoGD$?|ElTmcmM*uu_XKwTOxQ9%TT00Db_! zl!`yf?uV-TpHlozDE=n8pK0!2l3T_}qyKusL<#GpR`2uqgp&A`Mu_;6Li~S7ApWBd z9y)NiZ<3Q6>~xx^;YMI=%m9bs!aww8;V-K26a76D5d0JVpnv(hSxU;vmvEsQ9S{~7 zskXr(qRsOAvs9)aUg)89O0iL({9I4|EhoQL6DCWPBtde-ND(5xkKz9_L`V=IH%xG_ zknqnM6#U_%2aiC&zb2JhZTf%h(D7sC_^)vET`1p;-^xY}8h_Q^Po*~_Zz>}O-W`k= z*J-KLs*CHSRxgvuY{BB6S`n3$b?D5I^OMDa^Ty4jFvW{;@DW5E!d8&HLh|%RRcoyKaz?Tr44Bq1AuW+q+N4$1Rqs zC5wYZ#XH5~8TF@kURwi{XGcc18ks|-7F=q)>_G`@dpQzh|gM)m|(e)J66 zT^v2QVE-O%`=H%X`uoReAFwu`vaV_KqzV6pv)L92eV>PSe5)-e=diZsC3hK^3|=C% z$9GVCAC&*jln148fzO-7QLk&jq@!Ilb{v6~agoTdy{#YSIQMzsr{^0!KjV7w7IdT{ zOVKVc(7aM7_fvnNN(j}`-&wdV+u1jJcZh&un94m;1oSZ3;lfXF`DEBgLsoZouoDp8 zU8cd`HpWLdPJ77Rd?dHVf*puI3bXP({O9|7!`Oy+LqqObV`OMBZ@9AO>HqPbcarD8 zwOONvxw@BMZ`}}T>BlKKbZ}?OIldBq3b*yM5zc#zvo3#`^mdCuhd)|xM}X~w9sp;Z z&qJKY_KltN3y@Azr8ibG;X(%j^hxx?3R|1^7cUCDeB}A>6kIdu|B@q?4!zX}7ZVK3 z0t2*lU$CKH08gRr2fkOAi09mqM1t+tGs_zgX~BB`G4J9B+!K|#NST$hWl^Xi)a=?x zS1zA&iq|=1a?C#f?5V`6wi!d>;bm7a#SJ={inZ&%tM8_?a}#kbU2_@ScAXkfuk?1W Pk Date: Fri, 4 Dec 2020 00:17:25 -0500 Subject: [PATCH 03/22] Improved chatbox Chatbox can now receive a message history to display --- src/assets/autoload/playermanager.gd | 4 + .../elements/chatboxbase/chatboxbase.gd | 75 +++++++++++++++---- src/assets/ui/lobbyui/votemenu/votemenu.tscn | 19 ++--- 3 files changed, 75 insertions(+), 23 deletions(-) diff --git a/src/assets/autoload/playermanager.gd b/src/assets/autoload/playermanager.gd index 29e201d2..c8c94449 100644 --- a/src/assets/autoload/playermanager.gd +++ b/src/assets/autoload/playermanager.gd @@ -9,6 +9,10 @@ var ournumber var tasks = [-1] var taskstoassign var assignedtasks + +# stores messages so they can be shown on multiple chatboxes +var chatbox_cache: Array + #vars for role assignment #Percent assigns based on what % should be x role, Amount assigns given amount to x role enum assignStyle {Percent, Amount} diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd index f68357ba..f18382a6 100644 --- a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd +++ b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd @@ -12,30 +12,62 @@ var cursorCoord: Vector2 = Vector2(0,0) #x is line, y is column var sentSide: String = "right" #side of chatbox sent messages are on var receivedSide: String = "left" #side of chatbox received messages are on +func _ready(): + set_network_master(1) + showBulkMessages(PlayerManager.chatbox_cache) + func sendMessage(content, color: String = defaultColor): if isEmpty(content) or hasLineBreaks(content): return if content.length() > maxChars: #if maxChars is raised clientside it can't affect other clients return - showMessage("You", content, color, sentSide) + PlayerManager.chatbox_cache.append({"sender": Network.get_my_id(), "content": content, "color": color}) + showMessage(Network.get_my_id(), content, color) textbox.text = "" currentText = "" #TODO: switch to getting the color from locally stored data to avoid sending false colors, same with names - rpc("receiveMessage", Network.myID, content, color, Network.get_player_name()) + rpc("receiveMessage", Network.myID, content, color) + +puppet func receiveBulkMessages(messageArray: Array): + if get_tree().is_network_server(): + return + PlayerManager.chatbox_cache = messageArray + showBulkMessages(messageArray) + +func showBulkMessages(messageArray: Array): + chatbox.bbcode_text = "" + for i in messageArray: + showMessage(i.sender, i.content, i.color) -#TODO: switch to getting the color from locally stored data to avoid sending false colors, same with names -remote func receiveMessage(sender: int, content: String, color: String, sentname: String): +remote func receiveMessageServer(sender: int, content: String, color: String): #add checks here to make sure it's valid (correct color-sender combo, etc.) if sender != get_tree().get_rpc_sender_id(): - #having the sender be sent and then checked allows to double check if get_rpc_sender_id returns the wrong id, most likely won't happen as long as we stay single threaded - pass - if isEmpty(content) or hasLineBreaks(content): return - #eventually use id to find the player's name - showMessage(str(sentname), content, color, receivedSide) + if isEmpty(content): + return + var usedContent = content + if hasLineBreaks(usedContent): + usedContent = removeLineBreaks(usedContent) + rpc("receiveMessage", sender, usedContent, color) + showMessage(sender, content, color) + +#TODO: switch to getting the color from locally stored data to avoid sending false colors +puppet func receiveMessage(sender: int, content: String, color: String): + #add checks here to make sure it's valid (correct color-sender combo, etc.) + if sender == Network.get_my_id(): + return + if isEmpty(content): + return + var usedContent = content + if hasLineBreaks(usedContent): + usedContent = removeLineBreaks(usedContent) + PlayerManager.chatbox_cache.append({"sender": sender, "content": content, "color": color}) + showMessage(sender, content, color) -func showMessage(sender, content, color, align: String = ""): - if sender == "" or content == "": +func showMessage(sender, content, color): + if content == "": + return + if not Network.get_peers().has(sender): return chatbox.pop() var newMessage: String @@ -45,10 +77,18 @@ func showMessage(sender, content, color, align: String = ""): chatbox.scroll_following = true else: chatbox.scroll_following = false + var senderName: String + var align: String + if sender == Network.get_my_id(): + senderName = "You" + align = sentSide + else: + senderName = Network.get_player_name(sender) + align = receivedSide if align == "right": - newMessage = "[right]" + "[color=" + color + "]" + sender + "[/color][/right]\n[right][color=" + defaultColor + "]" + content + "[/color][/right]\n" + newMessage = "[right]" + "[color=" + color + "]" + senderName + "[/color][/right]\n[right][color=" + defaultColor + "]" + content + "[/color][/right]\n" else: - newMessage = "[color=" + color + "]" + sender + "[/color]\n[color=" + defaultColor + "]" + content + "[/color]\n" + newMessage = "[color=" + color + "]" + senderName + "[/color]\n[color=" + defaultColor + "]" + content + "[/color]\n" chatbox.append_bbcode(newMessage) func restrictText(): @@ -60,6 +100,12 @@ func restrictText(): else: currentText = newText +func removeLineBreaks(content: String) -> String: + var newContent = content + for i in breakChars: + newContent = newContent.replace(i, "") + return newContent + #tests if the string is full of empty chars, like tabs and spaces func isEmpty(inputStr): var emptyCount = 0 @@ -93,4 +139,5 @@ func _on_TextEdit_cursor_changed(): cursorCoord.y = textbox.cursor_get_column() func _on_chatboxbase_visibility_changed(): - pass # Replace with function body. + if visible: + textbox.grab_focus() diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.tscn b/src/assets/ui/lobbyui/votemenu/votemenu.tscn index e227a31f..7a7e7f46 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.tscn +++ b/src/assets/ui/lobbyui/votemenu/votemenu.tscn @@ -8,7 +8,7 @@ [node name="votemenu" type="WindowDialog"] visible = true anchor_left = 0.05 -anchor_top = 0.05 +anchor_top = 0.09 anchor_right = 0.95 anchor_bottom = 0.95 rect_min_size = Vector2( 500, 350 ) @@ -32,19 +32,20 @@ __meta__ = { anchor_right = 1.0 anchor_bottom = 1.0 margin_left = 6.0 -margin_top = 37.0 +margin_top = 51.0 margin_right = -6.0 margin_bottom = -7.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_constants/margin_right = 0 +custom_constants/margin_top = -16 custom_constants/margin_left = 0 custom_constants/margin_bottom = 0 [node name="VoteControl" type="Control" parent="TabContainer/Vote"] -margin_top = 15.0 +margin_top = -16.0 margin_right = 909.0 -margin_bottom = 496.0 +margin_bottom = 458.0 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -61,12 +62,12 @@ __meta__ = { anchor_right = 0.0 anchor_bottom = 0.0 margin_right = 909.0 -margin_bottom = 443.0 +margin_bottom = 436.0 [node name="HBoxContainer" type="HBoxContainer" parent="TabContainer/Vote/VoteControl/VBoxContainer"] -margin_top = 447.0 +margin_top = 440.0 margin_right = 909.0 -margin_bottom = 481.0 +margin_bottom = 474.0 size_flags_horizontal = 3 __meta__ = { "_edit_use_anchors_": false @@ -109,7 +110,7 @@ visible = false anchor_right = 1.0 anchor_bottom = 1.0 margin_left = 6.0 -margin_top = 37.0 +margin_top = 51.0 margin_right = -6.0 margin_bottom = -7.0 @@ -119,7 +120,7 @@ anchor_bottom = 0.0 margin_left = 15.0 margin_top = 15.0 margin_right = 894.0 -margin_bottom = 481.0 +margin_bottom = 443.0 size_flags_horizontal = 3 size_flags_vertical = 3 [connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"] From 7da8d5b80efcb0bb6b4a27f46105b66edae91d75 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Fri, 4 Dec 2020 00:23:34 -0500 Subject: [PATCH 04/22] Misc --- .../votemenu/votebuttongrid/votebutton/votebutton.tscn | 4 ++-- src/assets/ui/lobbyui/votemenu/votemenu.gd | 7 +------ src/assets/ui/lobbyui/votemenu/votemenu.tscn | 1 - 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn b/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn index e4b0bf81..963b7047 100644 --- a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn +++ b/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn @@ -75,7 +75,7 @@ margin_left = 869.0 margin_right = 939.0 margin_bottom = 28.0 size_flags_horizontal = 0 -size_flags_vertical = 12 +size_flags_vertical = 3 text = "Confirm" align = 0 @@ -84,7 +84,7 @@ margin_left = 943.0 margin_right = 1004.0 margin_bottom = 28.0 size_flags_horizontal = 0 -size_flags_vertical = 12 +size_flags_vertical = 3 text = "Cancel" align = 0 [connection signal="pressed" from="MarginContainer/ConfirmCancelButtons/VBoxContainer/HBoxContainer/confirm" to="." method="_on_confirm_pressed"] diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.gd b/src/assets/ui/lobbyui/votemenu/votemenu.gd index 36e599f4..d49f415b 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.gd +++ b/src/assets/ui/lobbyui/votemenu/votemenu.gd @@ -4,14 +4,9 @@ onready var button_grid: Node = get_node("TabContainer/Vote/VoteControl/VBoxCont func _ready(): show() + # hides x so players can't close the menu get_close_button().hide() button_grid.connect("vote", self, "vote_for") func vote_for(player_id): print("voting for ", player_id) - -#func _on_visibility_changed(): -# if visible: -# UIManager.ui_opened("votemenu") -# else: -# UIManager.ui_closed("votemenu") diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.tscn b/src/assets/ui/lobbyui/votemenu/votemenu.tscn index 7a7e7f46..c80550ac 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.tscn +++ b/src/assets/ui/lobbyui/votemenu/votemenu.tscn @@ -6,7 +6,6 @@ [ext_resource path="res://assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn" type="PackedScene" id=4] [node name="votemenu" type="WindowDialog"] -visible = true anchor_left = 0.05 anchor_top = 0.09 anchor_right = 0.95 From 07588dc80ed38cdca492479048d9d347534aed3e Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Fri, 4 Dec 2020 00:37:35 -0500 Subject: [PATCH 05/22] infilitrator hud no longer blocks interactpoint buttons --- src/assets/ui/hud/infiltrator_hud/infiltrator_hud.tscn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/ui/hud/infiltrator_hud/infiltrator_hud.tscn b/src/assets/ui/hud/infiltrator_hud/infiltrator_hud.tscn index 8d8d5fc7..ed464069 100644 --- a/src/assets/ui/hud/infiltrator_hud/infiltrator_hud.tscn +++ b/src/assets/ui/hud/infiltrator_hud/infiltrator_hud.tscn @@ -20,7 +20,7 @@ anchor_left = 0.75 anchor_top = 0.75 anchor_right = 1.0 anchor_bottom = 1.0 -mouse_filter = 1 +mouse_filter = 2 size_flags_horizontal = 3 size_flags_vertical = 3 script = ExtResource( 8 ) From 137b9a2fabb65161fa15e2e8b4e276966cd19629 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 15:52:14 -0500 Subject: [PATCH 06/22] Added more vote functionality --- .../elements/chatboxbase/chatboxbase.tscn | 3 +- .../votemenu/votebuttongrid/votebuttongrid.gd | 24 +- src/assets/ui/lobbyui/votemenu/votemenu.gd | 24 +- src/assets/ui/mainmenu/mainmenu.tscn | 1217 ++++++++++++++++- 4 files changed, 1255 insertions(+), 13 deletions(-) diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn index 33725df8..ec8b52a7 100644 --- a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn +++ b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn @@ -28,6 +28,7 @@ anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 margin_top = -55.0 +size_flags_vertical = 3 __meta__ = { "_edit_use_anchors_": false } @@ -37,7 +38,7 @@ margin_right = 971.0 margin_bottom = 55.0 rect_min_size = Vector2( 150, 0 ) size_flags_horizontal = 3 -fold_gutter = true +size_flags_vertical = 3 wrap_enabled = true __meta__ = { "_edit_lock_": true, diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd b/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd index e7dd03c9..922da9a3 100644 --- a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd +++ b/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd @@ -17,6 +17,21 @@ func _ready(): for i in 10: create_vote_button(i, str(i)) +func create_vote_buttons(player_ids: Array): + for player in player_ids: + create_vote_button(player, Network.get_player_name(player)) + +func create_vote_button(player_id: int, player_name: String, alive: bool = true): + var new_button: Node = button_scene.instance() + new_button.name = str(player_id) +# warning-ignore:return_value_discarded + new_button.connect("pressed", self, "vote_button_pressed", [new_button]) +# warning-ignore:return_value_discarded + new_button.connect("vote", self, "vote_for") + buttons[player_id] = new_button + grid.add_child(new_button) + new_button.init_button(player_id, player_name, alive) + func vote_for(player_id): emit_signal("vote", player_id) for i in buttons.values(): @@ -33,12 +48,3 @@ func vote_button_pressed(button: Node): selected.set_selected(false) button.set_selected(true) selected = button - -func create_vote_button(player_id: int, player_name: String, alive: bool = true): - var new_button: Node = button_scene.instance() - new_button.name = str(player_id) - new_button.connect("pressed", self, "vote_button_pressed", [new_button]) - new_button.connect("vote", self, "vote_for") - buttons[player_id] = new_button - grid.add_child(new_button) - new_button.init_button(player_id, player_name, alive) diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.gd b/src/assets/ui/lobbyui/votemenu/votemenu.gd index d49f415b..b5992822 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.gd +++ b/src/assets/ui/lobbyui/votemenu/votemenu.gd @@ -2,11 +2,31 @@ extends WindowDialogBase onready var button_grid: Node = get_node("TabContainer/Vote/VoteControl/VBoxContainer/VoteButtonGrid") +var my_id: int = Network.get_my_id() +# format: {voter network ID: voted for network ID} +var votes: Dictionary = {} + func _ready(): show() # hides x so players can't close the menu get_close_button().hide() button_grid.connect("vote", self, "vote_for") -func vote_for(player_id): - print("voting for ", player_id) +func create_vote_buttons(): + button_grid.create_vote_buttons(Network.get_peers()) + +func vote_for(vote_for: int): + print("voting for ", vote_for) + if not get_tree().is_network_server(): + rpc_id(1, "recieve_vote_server", vote_for, my_id) + else: + recieve_vote_server(vote_for, my_id) + +remote func recieve_vote_server(vote_for: int, vote_from: int): + if not get_tree().is_network_server(): + return + rpc("recieve_vote", vote_for, vote_from) + +puppetsync func recieve_vote(vote_for: int, vote_from: int): + print("recieving vote for ", vote_for, " from ", vote_from) + votes[vote_from] = vote_for diff --git a/src/assets/ui/mainmenu/mainmenu.tscn b/src/assets/ui/mainmenu/mainmenu.tscn index 252af573..1135b419 100644 --- a/src/assets/ui/mainmenu/mainmenu.tscn +++ b/src/assets/ui/mainmenu/mainmenu.tscn @@ -1,11 +1,1222 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=122 format=2] [ext_resource path="res://assets/ui/mainmenu/mainmenu.gd" type="Script" id=1] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-increment-hilite.png" type="Texture" id=2] [ext_resource path="res://assets/ui/submenus/settings/settings.tscn" type="PackedScene" id=3] [ext_resource path="res://assets/ui/mainmenu/playgame/playgame.tscn" type="PackedScene" id=4] [ext_resource path="res://assets/common/fonts/title-font.tres" type="DynamicFont" id=5] [ext_resource path="res://assets/common/fonts/menufont.tres" type="DynamicFont" id=6] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=7] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-grabber.png" type="Texture" id=8] +[ext_resource path="res://assets/common/themes/pngs/menubutton_disabled.png" type="Texture" id=9] +[ext_resource path="res://assets/common/themes/pngs/progressbar-bg.png" type="Texture" id=10] +[ext_resource path="res://assets/common/themes/pngs/panel.png" type="Texture" id=11] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-decrement-hilite.png" type="Texture" id=12] +[ext_resource path="res://assets/common/themes/pngs/checkbutton-off.png" type="Texture" id=13] +[ext_resource path="res://assets/common/themes/pngs/checkbutton-on.png" type="Texture" id=14] +[ext_resource path="res://assets/common/themes/pngs/lineedit-normal.png" type="Texture" id=15] +[ext_resource path="res://assets/common/themes/pngs/menubutton_hover.png" type="Texture" id=16] +[ext_resource path="res://assets/common/themes/pngs/menubutton_pressed.png" type="Texture" id=17] +[ext_resource path="res://assets/common/themes/pngs/panelf.png" type="Texture" id=18] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-bg.png" type="Texture" id=19] +[ext_resource path="res://assets/common/themes/pngs/button_focus.png" type="Texture" id=20] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-grabber-hilite.png" type="Texture" id=21] +[ext_resource path="res://assets/common/themes/pngs/hslider_slider.png" type="Texture" id=22] +[ext_resource path="res://assets/common/themes/pngs/textedit-completion.png" type="Texture" id=23] +[ext_resource path="res://assets/common/themes/pngs/popuppanel.png" type="Texture" id=24] +[ext_resource path="res://assets/common/themes/pngs/button_disabled.png" type="Texture" id=25] +[ext_resource path="res://assets/common/themes/pngs/button_pressed.png" type="Texture" id=26] +[ext_resource path="res://assets/common/themes/pngs/lineedit-readonly.png" type="Texture" id=27] +[ext_resource path="res://assets/common/themes/pngs/textedit-focus.png" type="Texture" id=28] +[ext_resource path="res://assets/common/themes/pngs/hslider_grabber_hilite.png" type="Texture" id=29] +[ext_resource path="res://assets/common/themes/pngs/button_hover.png" type="Texture" id=30] +[ext_resource path="res://assets/common/themes/pngs/button_normal.png" type="Texture" id=31] +[ext_resource path="res://assets/common/themes/pngs/menubutton_focus.png" type="Texture" id=32] +[ext_resource path="res://assets/common/themes/pngs/menubutton_normal.png" type="Texture" id=33] +[ext_resource path="res://assets/common/themes/pngs/progressbar-fg.png" type="Texture" id=34] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-fg.png" type="Texture" id=35] +[ext_resource path="res://assets/common/themes/pngs/hslider_grabber.png" type="Texture" id=36] +[ext_resource path="res://assets/common/themes/pngs/lineedit-focus.png" type="Texture" id=37] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-scroll.png" type="Texture" id=38] +[ext_resource path="res://assets/common/themes/pngs/menubutton_arrow.png" type="Texture" id=39] +[ext_resource path="res://assets/common/themes/pngs/tree-checked.png" type="Texture" id=40] +[ext_resource path="res://assets/common/themes/pngs/vslider_grabber.png" type="Texture" id=41] +[ext_resource path="res://assets/common/themes/pngs/tree-arrow.png" type="Texture" id=42] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-grabber.png" type="Texture" id=43] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-panel.png" type="Texture" id=44] +[ext_resource path="res://assets/common/themes/pngs/vslider_grabber_hilite.png" type="Texture" id=45] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-scroll.png" type="Texture" id=46] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-close.png" type="Texture" id=47] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-close-hilite.png" type="Texture" id=48] +[ext_resource path="res://assets/common/themes/pngs/tree-arrow-collapse.png" type="Texture" id=49] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-grabber-hilite.png" type="Texture" id=50] +[ext_resource path="res://assets/common/themes/pngs/textedit-normal.png" type="Texture" id=51] +[ext_resource path="res://assets/common/themes/pngs/vslider_slider.png" type="Texture" id=52] +[ext_resource path="res://assets/common/themes/pngs/tree-unchecked.png" type="Texture" id=53] + +[sub_resource type="StyleBoxTexture" id=1] +texture = ExtResource( 25 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=2] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=3] +texture = ExtResource( 30 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=4] +texture = ExtResource( 31 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=5] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=6] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=7] +texture = ExtResource( 25 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=8] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=9] +texture = ExtResource( 30 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=10] +texture = ExtResource( 31 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 7.0 +margin_right = 7.0 +margin_top = 7.0 +margin_bottom = 7.0 + +[sub_resource type="StyleBoxTexture" id=11] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=12] +texture = ExtResource( 8 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=13] +texture = ExtResource( 21 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=14] +texture = ExtResource( 38 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=15] +texture = ExtResource( 38 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=16] +texture = ExtResource( 21 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=17] +texture = ExtResource( 22 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=18] +texture = ExtResource( 37 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=19] +texture = ExtResource( 15 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=20] +texture = ExtResource( 27 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=21] +texture = ExtResource( 9 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=22] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=23] +texture = ExtResource( 16 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=24] +texture = ExtResource( 33 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=25] +texture = ExtResource( 17 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=26] +texture = ExtResource( 9 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=27] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=28] +texture = ExtResource( 16 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=29] +texture = ExtResource( 33 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=30] +texture = ExtResource( 17 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=31] +texture = ExtResource( 11 ) +region_rect = Rect2( 0, 0, 8, 8 ) + +[sub_resource type="StyleBoxTexture" id=32] +texture = ExtResource( 18 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=33] +texture = ExtResource( 24 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 8.0 +margin_right = 8.0 +margin_top = 8.0 +margin_bottom = 8.0 + +[sub_resource type="StyleBoxTexture" id=34] +texture = ExtResource( 18 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 + +[sub_resource type="StyleBoxTexture" id=35] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=36] +texture = ExtResource( 24 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 3.0 +expand_margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=37] +texture = ExtResource( 24 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 3.0 +expand_margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=38] +texture = ExtResource( 10 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 10.0 +margin_right = 10.0 + +[sub_resource type="StyleBoxTexture" id=39] +texture = ExtResource( 34 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 7.0 +margin_right = 7.0 + +[sub_resource type="StyleBoxTexture" id=40] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=41] +texture = ExtResource( 18 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=42] +texture = ExtResource( 19 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=43] +texture = ExtResource( 35 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=44] +texture = ExtResource( 23 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=45] +texture = ExtResource( 28 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=46] +texture = ExtResource( 51 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 12.0 +margin_right = 12.0 +margin_top = 12.0 +margin_bottom = 12.0 + +[sub_resource type="StyleBoxEmpty" id=47] + +[sub_resource type="StyleBoxTexture" id=48] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=49] +texture = ExtResource( 31 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxEmpty" id=50] + +[sub_resource type="StyleBoxTexture" id=51] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=52] +texture = ExtResource( 18 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 9.0 +margin_right = 9.0 +margin_top = 9.0 +margin_bottom = 9.0 +expand_margin_left = 4.0 +expand_margin_right = 4.0 +expand_margin_top = 4.0 +expand_margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=53] +texture = ExtResource( 51 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=54] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=55] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=56] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=57] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=58] +texture = ExtResource( 30 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=59] +texture = ExtResource( 30 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=60] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=61] +texture = ExtResource( 43 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=62] +texture = ExtResource( 50 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=63] +texture = ExtResource( 46 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=64] +texture = ExtResource( 46 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=65] +texture = ExtResource( 52 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=66] +texture = ExtResource( 44 ) +region_rect = Rect2( 0, 0, 16, 64 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 28.0 +margin_bottom = 7.0 +expand_margin_left = 3.0 +expand_margin_right = 3.0 +expand_margin_top = 26.0 +expand_margin_bottom = 3.0 + +[sub_resource type="Theme" id=67] +resource_local_to_scene = true +Button/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +Button/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +Button/constants/hseparation = 2 +Button/fonts/font = null +Button/styles/disabled = SubResource( 1 ) +Button/styles/focus = SubResource( 2 ) +Button/styles/hover = SubResource( 3 ) +Button/styles/normal = SubResource( 4 ) +Button/styles/pressed = SubResource( 5 ) +CheckButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +CheckButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +CheckButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +CheckButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +CheckButton/constants/check_vadjust = 0 +CheckButton/constants/hseparation = 4 +CheckButton/fonts/font = null +CheckButton/icons/off = ExtResource( 13 ) +CheckButton/icons/on = ExtResource( 14 ) +CheckButton/styles/disabled = null +CheckButton/styles/focus = SubResource( 6 ) +CheckButton/styles/hover = null +CheckButton/styles/normal = null +CheckButton/styles/pressed = null +ColorPicker/constants/h_width = 30 +ColorPicker/constants/label_width = 10 +ColorPicker/constants/margin = 4 +ColorPicker/constants/sv_height = 256 +ColorPicker/constants/sv_width = 256 +ColorPicker/icons/add_preset = null +ColorPicker/icons/color_hue = null +ColorPicker/icons/color_sample = null +ColorPicker/icons/preset_bg = null +ColorPicker/icons/screen_picker = null +ColorPickerButton/colors/font_color = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.3 ) +ColorPickerButton/colors/font_color_hover = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_pressed = Color( 0.8, 0.8, 0.8, 1 ) +ColorPickerButton/constants/hseparation = 2 +ColorPickerButton/fonts/font = null +ColorPickerButton/icons/bg = null +ColorPickerButton/styles/disabled = SubResource( 7 ) +ColorPickerButton/styles/focus = SubResource( 8 ) +ColorPickerButton/styles/hover = SubResource( 9 ) +ColorPickerButton/styles/normal = SubResource( 10 ) +ColorPickerButton/styles/pressed = SubResource( 11 ) +Dialogs/constants/button_margin = 32 +Dialogs/constants/margin = 10 +FileDialog/colors/files_disabled = Color( 0, 0, 0, 0.7 ) +FileDialog/icons/folder = null +FileDialog/icons/parent_folder = null +FileDialog/icons/reload = null +GridContainer/constants/hseparation = 4 +GridContainer/constants/vseparation = 4 +HBoxContainer/constants/separation = 4 +HScrollBar/icons/decrement = null +HScrollBar/icons/decrement_highlight = null +HScrollBar/icons/increment = null +HScrollBar/icons/increment_highlight = null +HScrollBar/styles/grabber = SubResource( 12 ) +HScrollBar/styles/grabber_highlight = SubResource( 13 ) +HScrollBar/styles/grabber_pressed = null +HScrollBar/styles/scroll = SubResource( 14 ) +HScrollBar/styles/scroll_focus = SubResource( 15 ) +HSeparator/constants/separation = 7 +HSeparator/styles/separator = null +HSlider/icons/grabber = ExtResource( 36 ) +HSlider/icons/grabber_disabled = null +HSlider/icons/grabber_highlight = ExtResource( 29 ) +HSlider/icons/tick = null +HSlider/styles/focus = SubResource( 16 ) +HSlider/styles/grabber_area = null +HSlider/styles/grabber_disabled = null +HSlider/styles/grabber_highlight = null +HSlider/styles/slider = SubResource( 17 ) +HSplitContainer/constants/autohide = 1 +HSplitContainer/constants/separation = 8 +HSplitContainer/icons/grabber = null +HSplitContainer/styles/bg = null +LineEdit/colors/cursor_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +LineEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +LineEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +LineEdit/constants/minimum_spaces = 8 +LineEdit/fonts/font = null +LineEdit/styles/focus = SubResource( 18 ) +LineEdit/styles/normal = SubResource( 19 ) +LineEdit/styles/read_only = SubResource( 20 ) +MarginContainer/constants/margin_bottom = 15 +MarginContainer/constants/margin_left = 15 +MarginContainer/constants/margin_right = 15 +MarginContainer/constants/margin_top = 15 +MenuButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +MenuButton/colors/font_color_disabled = Color( 1, 1, 1, 0.3 ) +MenuButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +MenuButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +MenuButton/constants/hseparation = 2 +MenuButton/fonts/font = null +MenuButton/styles/disabled = SubResource( 21 ) +MenuButton/styles/focus = SubResource( 22 ) +MenuButton/styles/hover = SubResource( 23 ) +MenuButton/styles/normal = SubResource( 24 ) +MenuButton/styles/pressed = SubResource( 25 ) +OptionButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +OptionButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +OptionButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +OptionButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +OptionButton/constants/arrow_margin = 1 +OptionButton/constants/hseparation = 2 +OptionButton/fonts/font = null +OptionButton/icons/arrow = ExtResource( 39 ) +OptionButton/styles/disabled = SubResource( 26 ) +OptionButton/styles/focus = SubResource( 27 ) +OptionButton/styles/hover = SubResource( 28 ) +OptionButton/styles/normal = SubResource( 29 ) +OptionButton/styles/pressed = SubResource( 30 ) +Panel/styles/panel = SubResource( 31 ) +Panel/styles/panelf = SubResource( 32 ) +Panel/styles/panelnc = SubResource( 33 ) +PanelContainer/styles/panel = SubResource( 34 ) +PopupMenu/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/colors/font_color_accel = Color( 0.7, 0.7, 0.7, 0.8 ) +PopupMenu/colors/font_color_disabled = Color( 0.4, 0.4, 0.4, 0.8 ) +PopupMenu/colors/font_color_hover = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/constants/hseparation = 2 +PopupMenu/constants/vseparation = 1 +PopupMenu/fonts/font = null +PopupMenu/icons/checked = null +PopupMenu/icons/radio_checked = null +PopupMenu/icons/radio_unchecked = null +PopupMenu/icons/submenu = ExtResource( 2 ) +PopupMenu/icons/unchecked = null +PopupMenu/styles/hover = SubResource( 35 ) +PopupMenu/styles/panel = SubResource( 36 ) +PopupMenu/styles/panel_disabled = null +PopupMenu/styles/separator = null +PopupPanel/styles/panel = SubResource( 37 ) +ProgressBar/colors/font_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +ProgressBar/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +ProgressBar/fonts/font = null +ProgressBar/styles/bg = SubResource( 38 ) +ProgressBar/styles/fg = SubResource( 39 ) +RichTextLabel/colors/default_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +RichTextLabel/colors/font_color_selected = Color( 0.490196, 0.490196, 0.490196, 1 ) +RichTextLabel/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +RichTextLabel/constants/line_separation = 1 +RichTextLabel/constants/table_hseparation = 3 +RichTextLabel/constants/table_vseparation = 3 +RichTextLabel/fonts/bold_font = null +RichTextLabel/fonts/bold_italics_font = null +RichTextLabel/fonts/italics_font = null +RichTextLabel/fonts/mono_font = null +RichTextLabel/fonts/normal_font = null +RichTextLabel/styles/focus = SubResource( 40 ) +RichTextLabel/styles/normal = null +TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) +TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +TabContainer/colors/font_color_fg = Color( 0.941176, 0.941176, 0.941176, 1 ) +TabContainer/constants/hseparation = 2 +TabContainer/constants/label_valign_bg = 5 +TabContainer/constants/label_valign_fg = 4 +TabContainer/constants/side_margin = 5 +TabContainer/constants/top_margin = 5 +TabContainer/fonts/font = null +TabContainer/icons/decrement = null +TabContainer/icons/decrement_highlight = ExtResource( 12 ) +TabContainer/icons/increment = null +TabContainer/icons/increment_highlight = ExtResource( 2 ) +TabContainer/icons/menu = null +TabContainer/icons/menu_highlight = null +TabContainer/styles/panel = SubResource( 41 ) +TabContainer/styles/tab_bg = SubResource( 42 ) +TabContainer/styles/tab_fg = SubResource( 43 ) +TextEdit/colors/background_color = Color( 0, 0, 0, 0 ) +TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 ) +TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 ) +TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/caret_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 ) +TextEdit/colors/completion_background_color = Color( 0.172549, 0.164706, 0.196078, 1 ) +TextEdit/colors/completion_existing_color = Color( 0.87451, 0.87451, 0.87451, 0.129412 ) +TextEdit/colors/completion_font_color = Color( 0.666667, 0.666667, 0.666667, 1 ) +TextEdit/colors/completion_scroll_color = Color( 1, 1, 1, 1 ) +TextEdit/colors/completion_selected_color = Color( 0.262745, 0.258824, 0.266667, 1 ) +TextEdit/colors/current_line_color = Color( 0.25, 0.25, 0.26, 0.8 ) +TextEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +TextEdit/colors/function_color = Color( 0.4, 0.635294, 0.807843, 1 ) +TextEdit/colors/line_number_color = Color( 0.666667, 0.666667, 0.666667, 0.4 ) +TextEdit/colors/mark_color = Color( 1, 0.4, 0.4, 0.4 ) +TextEdit/colors/member_variable_color = Color( 0.901961, 0.305882, 0.34902, 1 ) +TextEdit/colors/number_color = Color( 0.921569, 0.584314, 0.196078, 1 ) +TextEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +TextEdit/colors/symbol_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +TextEdit/colors/word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 ) +TextEdit/constants/completion_lines = 7 +TextEdit/constants/completion_max_width = 50 +TextEdit/constants/completion_scroll_width = 3 +TextEdit/constants/line_spacing = 1 +TextEdit/fonts/font = null +TextEdit/icons/tab = null +TextEdit/styles/completion = SubResource( 44 ) +TextEdit/styles/focus = SubResource( 45 ) +TextEdit/styles/normal = SubResource( 46 ) +TextEdit/styles/read_only = null +ToolButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +ToolButton/colors/font_color_disabled = Color( 0.9, 0.95, 1, 0.3 ) +ToolButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +ToolButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +ToolButton/constants/hseparation = 2 +ToolButton/fonts/font = null +ToolButton/styles/disabled = SubResource( 47 ) +ToolButton/styles/focus = SubResource( 48 ) +ToolButton/styles/hover = SubResource( 49 ) +ToolButton/styles/normal = SubResource( 50 ) +ToolButton/styles/pressed = SubResource( 51 ) +TooltipLabel/colors/font_color = Color( 1, 1, 1, 1 ) +TooltipLabel/colors/font_color_shadow = Color( 0, 0, 0, 0.1 ) +TooltipLabel/constants/shadow_offset_x = 1 +TooltipLabel/constants/shadow_offset_y = 1 +TooltipLabel/fonts/font = null +TooltipPanel/styles/panel = SubResource( 52 ) +Tree/colors/cursor_color = Color( 0, 0, 0, 1 ) +Tree/colors/custom_button_font_highlight = Color( 0.941176, 0.941176, 0.941176, 1 ) +Tree/colors/drop_position_color = Color( 1, 0.3, 0.2, 1 ) +Tree/colors/font_color = Color( 0.690196, 0.690196, 0.690196, 1 ) +Tree/colors/font_color_selected = Color( 1, 1, 1, 1 ) +Tree/colors/guide_color = Color( 0, 0, 0, 0.1 ) +Tree/colors/relationship_line_color = Color( 0.27451, 0.27451, 0.27451, 1 ) +Tree/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +Tree/colors/title_button_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Tree/constants/button_margin = 3 +Tree/constants/draw_relationship_lines = 0 +Tree/constants/guide_width = 1 +Tree/constants/hseparation = 2 +Tree/constants/item_margin = 12 +Tree/constants/scroll_border = 4 +Tree/constants/scroll_speed = 12 +Tree/constants/vseparation = 1 +Tree/fonts/font = null +Tree/fonts/title_button_font = null +Tree/icons/arrow = ExtResource( 42 ) +Tree/icons/arrow_collapsed = ExtResource( 49 ) +Tree/icons/checked = ExtResource( 40 ) +Tree/icons/select_arrow = null +Tree/icons/unchecked = ExtResource( 53 ) +Tree/icons/updown = null +Tree/styles/bg = SubResource( 53 ) +Tree/styles/bg_focus = null +Tree/styles/button_pressed = SubResource( 54 ) +Tree/styles/cursor = SubResource( 55 ) +Tree/styles/cursor_unfocused = null +Tree/styles/custom_button = null +Tree/styles/custom_button_hover = null +Tree/styles/custom_button_pressed = null +Tree/styles/selected = SubResource( 56 ) +Tree/styles/selected_focus = SubResource( 57 ) +Tree/styles/title_button_hover = SubResource( 58 ) +Tree/styles/title_button_normal = SubResource( 59 ) +Tree/styles/title_button_pressed = SubResource( 60 ) +VBoxContainer/constants/separation = 4 +VScrollBar/icons/decrement = null +VScrollBar/icons/decrement_highlight = null +VScrollBar/icons/increment = null +VScrollBar/icons/increment_highlight = null +VScrollBar/styles/grabber = SubResource( 61 ) +VScrollBar/styles/grabber_highlight = SubResource( 62 ) +VScrollBar/styles/grabber_pressed = null +VScrollBar/styles/scroll = SubResource( 63 ) +VScrollBar/styles/scroll_focus = SubResource( 64 ) +VSeparator/constants/separation = 7 +VSeparator/styles/separator = null +VSlider/icons/grabber = ExtResource( 41 ) +VSlider/icons/grabber_disabled = null +VSlider/icons/grabber_highlight = ExtResource( 45 ) +VSlider/icons/tick = null +VSlider/styles/focus = null +VSlider/styles/grabber_area = null +VSlider/styles/grabber_disabled = null +VSlider/styles/grabber_highlight = null +VSlider/styles/slider = SubResource( 65 ) +VSplitContainer/constants/autohide = 1 +VSplitContainer/constants/separation = 8 +VSplitContainer/icons/grabber = null +VSplitContainer/styles/bg = null +WindowDialog/colors/title_color = Color( 1, 1, 1, 1 ) +WindowDialog/constants/close_h_ofs = 22 +WindowDialog/constants/close_v_ofs = 20 +WindowDialog/constants/scaleborder_size = 4 +WindowDialog/constants/title_height = 20 +WindowDialog/fonts/title_font = null +WindowDialog/icons/close = ExtResource( 47 ) +WindowDialog/icons/close_highlight = ExtResource( 48 ) +WindowDialog/styles/panel = SubResource( 66 ) + +[sub_resource type="Theme" id=68] +resource_local_to_scene = true +Button/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +Button/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +Button/constants/hseparation = 2 +Button/fonts/font = null +Button/styles/disabled = SubResource( 1 ) +Button/styles/focus = SubResource( 2 ) +Button/styles/hover = SubResource( 3 ) +Button/styles/normal = SubResource( 4 ) +Button/styles/pressed = SubResource( 5 ) +CheckButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +CheckButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +CheckButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +CheckButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +CheckButton/constants/check_vadjust = 0 +CheckButton/constants/hseparation = 4 +CheckButton/fonts/font = null +CheckButton/icons/off = ExtResource( 13 ) +CheckButton/icons/on = ExtResource( 14 ) +CheckButton/styles/disabled = null +CheckButton/styles/focus = SubResource( 6 ) +CheckButton/styles/hover = null +CheckButton/styles/normal = null +CheckButton/styles/pressed = null +ColorPicker/constants/h_width = 30 +ColorPicker/constants/label_width = 10 +ColorPicker/constants/margin = 4 +ColorPicker/constants/sv_height = 256 +ColorPicker/constants/sv_width = 256 +ColorPicker/icons/add_preset = null +ColorPicker/icons/color_hue = null +ColorPicker/icons/color_sample = null +ColorPicker/icons/preset_bg = null +ColorPicker/icons/screen_picker = null +ColorPickerButton/colors/font_color = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.3 ) +ColorPickerButton/colors/font_color_hover = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_pressed = Color( 0.8, 0.8, 0.8, 1 ) +ColorPickerButton/constants/hseparation = 2 +ColorPickerButton/fonts/font = null +ColorPickerButton/icons/bg = null +ColorPickerButton/styles/disabled = SubResource( 7 ) +ColorPickerButton/styles/focus = SubResource( 8 ) +ColorPickerButton/styles/hover = SubResource( 9 ) +ColorPickerButton/styles/normal = SubResource( 10 ) +ColorPickerButton/styles/pressed = SubResource( 11 ) +Dialogs/constants/button_margin = 32 +Dialogs/constants/margin = 10 +FileDialog/colors/files_disabled = Color( 0, 0, 0, 0.7 ) +FileDialog/icons/folder = null +FileDialog/icons/parent_folder = null +FileDialog/icons/reload = null +GridContainer/constants/hseparation = 4 +GridContainer/constants/vseparation = 4 +HBoxContainer/constants/separation = 4 +HScrollBar/icons/decrement = null +HScrollBar/icons/decrement_highlight = null +HScrollBar/icons/increment = null +HScrollBar/icons/increment_highlight = null +HScrollBar/styles/grabber = SubResource( 12 ) +HScrollBar/styles/grabber_highlight = SubResource( 13 ) +HScrollBar/styles/grabber_pressed = null +HScrollBar/styles/scroll = SubResource( 14 ) +HScrollBar/styles/scroll_focus = SubResource( 15 ) +HSeparator/constants/separation = 7 +HSeparator/styles/separator = null +HSlider/icons/grabber = ExtResource( 36 ) +HSlider/icons/grabber_disabled = null +HSlider/icons/grabber_highlight = ExtResource( 29 ) +HSlider/icons/tick = null +HSlider/styles/focus = SubResource( 16 ) +HSlider/styles/grabber_area = null +HSlider/styles/grabber_disabled = null +HSlider/styles/grabber_highlight = null +HSlider/styles/slider = SubResource( 17 ) +HSplitContainer/constants/autohide = 1 +HSplitContainer/constants/separation = 8 +HSplitContainer/icons/grabber = null +HSplitContainer/styles/bg = null +LineEdit/colors/cursor_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +LineEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +LineEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +LineEdit/constants/minimum_spaces = 8 +LineEdit/fonts/font = null +LineEdit/styles/focus = SubResource( 18 ) +LineEdit/styles/normal = SubResource( 19 ) +LineEdit/styles/read_only = SubResource( 20 ) +MarginContainer/constants/margin_bottom = 15 +MarginContainer/constants/margin_left = 15 +MarginContainer/constants/margin_right = 15 +MarginContainer/constants/margin_top = 15 +MenuButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +MenuButton/colors/font_color_disabled = Color( 1, 1, 1, 0.3 ) +MenuButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +MenuButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +MenuButton/constants/hseparation = 2 +MenuButton/fonts/font = null +MenuButton/styles/disabled = SubResource( 21 ) +MenuButton/styles/focus = SubResource( 22 ) +MenuButton/styles/hover = SubResource( 23 ) +MenuButton/styles/normal = SubResource( 24 ) +MenuButton/styles/pressed = SubResource( 25 ) +OptionButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +OptionButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +OptionButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +OptionButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +OptionButton/constants/arrow_margin = 1 +OptionButton/constants/hseparation = 2 +OptionButton/fonts/font = null +OptionButton/icons/arrow = ExtResource( 39 ) +OptionButton/styles/disabled = SubResource( 26 ) +OptionButton/styles/focus = SubResource( 27 ) +OptionButton/styles/hover = SubResource( 28 ) +OptionButton/styles/normal = SubResource( 29 ) +OptionButton/styles/pressed = SubResource( 30 ) +Panel/styles/panel = SubResource( 31 ) +Panel/styles/panelf = SubResource( 32 ) +Panel/styles/panelnc = SubResource( 33 ) +PanelContainer/styles/panel = SubResource( 34 ) +PopupMenu/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/colors/font_color_accel = Color( 0.7, 0.7, 0.7, 0.8 ) +PopupMenu/colors/font_color_disabled = Color( 0.4, 0.4, 0.4, 0.8 ) +PopupMenu/colors/font_color_hover = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/constants/hseparation = 2 +PopupMenu/constants/vseparation = 1 +PopupMenu/fonts/font = null +PopupMenu/icons/checked = null +PopupMenu/icons/radio_checked = null +PopupMenu/icons/radio_unchecked = null +PopupMenu/icons/submenu = ExtResource( 2 ) +PopupMenu/icons/unchecked = null +PopupMenu/styles/hover = SubResource( 35 ) +PopupMenu/styles/panel = SubResource( 36 ) +PopupMenu/styles/panel_disabled = null +PopupMenu/styles/separator = null +PopupPanel/styles/panel = SubResource( 37 ) +ProgressBar/colors/font_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +ProgressBar/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +ProgressBar/fonts/font = null +ProgressBar/styles/bg = SubResource( 38 ) +ProgressBar/styles/fg = SubResource( 39 ) +RichTextLabel/colors/default_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +RichTextLabel/colors/font_color_selected = Color( 0.490196, 0.490196, 0.490196, 1 ) +RichTextLabel/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +RichTextLabel/constants/line_separation = 1 +RichTextLabel/constants/table_hseparation = 3 +RichTextLabel/constants/table_vseparation = 3 +RichTextLabel/fonts/bold_font = null +RichTextLabel/fonts/bold_italics_font = null +RichTextLabel/fonts/italics_font = null +RichTextLabel/fonts/mono_font = null +RichTextLabel/fonts/normal_font = null +RichTextLabel/styles/focus = SubResource( 40 ) +RichTextLabel/styles/normal = null +TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) +TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +TabContainer/colors/font_color_fg = Color( 0.941176, 0.941176, 0.941176, 1 ) +TabContainer/constants/hseparation = 2 +TabContainer/constants/label_valign_bg = 5 +TabContainer/constants/label_valign_fg = 4 +TabContainer/constants/side_margin = 5 +TabContainer/constants/top_margin = 5 +TabContainer/fonts/font = null +TabContainer/icons/decrement = null +TabContainer/icons/decrement_highlight = ExtResource( 12 ) +TabContainer/icons/increment = null +TabContainer/icons/increment_highlight = ExtResource( 2 ) +TabContainer/icons/menu = null +TabContainer/icons/menu_highlight = null +TabContainer/styles/panel = SubResource( 41 ) +TabContainer/styles/tab_bg = SubResource( 42 ) +TabContainer/styles/tab_fg = SubResource( 43 ) +TextEdit/colors/background_color = Color( 0, 0, 0, 0 ) +TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 ) +TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 ) +TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/caret_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 ) +TextEdit/colors/completion_background_color = Color( 0.172549, 0.164706, 0.196078, 1 ) +TextEdit/colors/completion_existing_color = Color( 0.87451, 0.87451, 0.87451, 0.129412 ) +TextEdit/colors/completion_font_color = Color( 0.666667, 0.666667, 0.666667, 1 ) +TextEdit/colors/completion_scroll_color = Color( 1, 1, 1, 1 ) +TextEdit/colors/completion_selected_color = Color( 0.262745, 0.258824, 0.266667, 1 ) +TextEdit/colors/current_line_color = Color( 0.25, 0.25, 0.26, 0.8 ) +TextEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +TextEdit/colors/function_color = Color( 0.4, 0.635294, 0.807843, 1 ) +TextEdit/colors/line_number_color = Color( 0.666667, 0.666667, 0.666667, 0.4 ) +TextEdit/colors/mark_color = Color( 1, 0.4, 0.4, 0.4 ) +TextEdit/colors/member_variable_color = Color( 0.901961, 0.305882, 0.34902, 1 ) +TextEdit/colors/number_color = Color( 0.921569, 0.584314, 0.196078, 1 ) +TextEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +TextEdit/colors/symbol_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +TextEdit/colors/word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 ) +TextEdit/constants/completion_lines = 7 +TextEdit/constants/completion_max_width = 50 +TextEdit/constants/completion_scroll_width = 3 +TextEdit/constants/line_spacing = 1 +TextEdit/fonts/font = null +TextEdit/icons/tab = null +TextEdit/styles/completion = SubResource( 44 ) +TextEdit/styles/focus = SubResource( 45 ) +TextEdit/styles/normal = SubResource( 46 ) +TextEdit/styles/read_only = null +ToolButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +ToolButton/colors/font_color_disabled = Color( 0.9, 0.95, 1, 0.3 ) +ToolButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +ToolButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +ToolButton/constants/hseparation = 2 +ToolButton/fonts/font = null +ToolButton/styles/disabled = SubResource( 47 ) +ToolButton/styles/focus = SubResource( 48 ) +ToolButton/styles/hover = SubResource( 49 ) +ToolButton/styles/normal = SubResource( 50 ) +ToolButton/styles/pressed = SubResource( 51 ) +TooltipLabel/colors/font_color = Color( 1, 1, 1, 1 ) +TooltipLabel/colors/font_color_shadow = Color( 0, 0, 0, 0.1 ) +TooltipLabel/constants/shadow_offset_x = 1 +TooltipLabel/constants/shadow_offset_y = 1 +TooltipLabel/fonts/font = null +TooltipPanel/styles/panel = SubResource( 52 ) +Tree/colors/cursor_color = Color( 0, 0, 0, 1 ) +Tree/colors/custom_button_font_highlight = Color( 0.941176, 0.941176, 0.941176, 1 ) +Tree/colors/drop_position_color = Color( 1, 0.3, 0.2, 1 ) +Tree/colors/font_color = Color( 0.690196, 0.690196, 0.690196, 1 ) +Tree/colors/font_color_selected = Color( 1, 1, 1, 1 ) +Tree/colors/guide_color = Color( 0, 0, 0, 0.1 ) +Tree/colors/relationship_line_color = Color( 0.27451, 0.27451, 0.27451, 1 ) +Tree/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +Tree/colors/title_button_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Tree/constants/button_margin = 3 +Tree/constants/draw_relationship_lines = 0 +Tree/constants/guide_width = 1 +Tree/constants/hseparation = 2 +Tree/constants/item_margin = 12 +Tree/constants/scroll_border = 4 +Tree/constants/scroll_speed = 12 +Tree/constants/vseparation = 1 +Tree/fonts/font = null +Tree/fonts/title_button_font = null +Tree/icons/arrow = ExtResource( 42 ) +Tree/icons/arrow_collapsed = ExtResource( 49 ) +Tree/icons/checked = ExtResource( 40 ) +Tree/icons/select_arrow = null +Tree/icons/unchecked = ExtResource( 53 ) +Tree/icons/updown = null +Tree/styles/bg = SubResource( 53 ) +Tree/styles/bg_focus = null +Tree/styles/button_pressed = SubResource( 54 ) +Tree/styles/cursor = SubResource( 55 ) +Tree/styles/cursor_unfocused = null +Tree/styles/custom_button = null +Tree/styles/custom_button_hover = null +Tree/styles/custom_button_pressed = null +Tree/styles/selected = SubResource( 56 ) +Tree/styles/selected_focus = SubResource( 57 ) +Tree/styles/title_button_hover = SubResource( 58 ) +Tree/styles/title_button_normal = SubResource( 59 ) +Tree/styles/title_button_pressed = SubResource( 60 ) +VBoxContainer/constants/separation = 4 +VScrollBar/icons/decrement = null +VScrollBar/icons/decrement_highlight = null +VScrollBar/icons/increment = null +VScrollBar/icons/increment_highlight = null +VScrollBar/styles/grabber = SubResource( 61 ) +VScrollBar/styles/grabber_highlight = SubResource( 62 ) +VScrollBar/styles/grabber_pressed = null +VScrollBar/styles/scroll = SubResource( 63 ) +VScrollBar/styles/scroll_focus = SubResource( 64 ) +VSeparator/constants/separation = 7 +VSeparator/styles/separator = null +VSlider/icons/grabber = ExtResource( 41 ) +VSlider/icons/grabber_disabled = null +VSlider/icons/grabber_highlight = ExtResource( 45 ) +VSlider/icons/tick = null +VSlider/styles/focus = null +VSlider/styles/grabber_area = null +VSlider/styles/grabber_disabled = null +VSlider/styles/grabber_highlight = null +VSlider/styles/slider = SubResource( 65 ) +VSplitContainer/constants/autohide = 1 +VSplitContainer/constants/separation = 8 +VSplitContainer/icons/grabber = null +VSplitContainer/styles/bg = null +WindowDialog/colors/title_color = Color( 1, 1, 1, 1 ) +WindowDialog/constants/close_h_ofs = 22 +WindowDialog/constants/close_v_ofs = 20 +WindowDialog/constants/scaleborder_size = 4 +WindowDialog/constants/title_height = 20 +WindowDialog/fonts/title_font = null +WindowDialog/icons/close = ExtResource( 47 ) +WindowDialog/icons/close_highlight = ExtResource( 48 ) +WindowDialog/styles/panel = SubResource( 66 ) [node name="TitleScreen" type="MarginContainer"] anchor_right = 1.0 @@ -176,6 +1387,9 @@ margin_top = 15.0 margin_right = 704.0 margin_bottom = 215.0 +[node name="Settings" parent="VBoxContainer/MarginContainer/MenuArea/Settings" index="0"] +theme = SubResource( 67 ) + [node name="VBoxContainer" parent="VBoxContainer/MarginContainer/MenuArea/Settings/Settings" index="0"] margin_right = 640.0 @@ -187,6 +1401,7 @@ margin_left = 64.0 margin_top = 15.0 margin_right = 704.0 margin_bottom = 215.0 +theme = SubResource( 68 ) [connection signal="returnToMainMenu" from="VBoxContainer/MarginContainer/MenuArea" to="VBoxContainer/MarginContainer/MenuArea" method="_on_MenuArea_returnToMainMenu"] [connection signal="pressed" from="VBoxContainer/MarginContainer/MenuArea/MainMenu/Control/CenterContainer/PlayGame" to="VBoxContainer/MarginContainer/MenuArea" method="_on_NewGame_pressed"] [connection signal="pressed" from="VBoxContainer/MarginContainer/MenuArea/MainMenu/Control3/CenterContainer/Settings" to="VBoxContainer/MarginContainer/MenuArea" method="_on_Settings_pressed"] From 5f18f2fa7a78f74c2fcc628927f0fcfea61d5052 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 20:40:28 -0500 Subject: [PATCH 07/22] Multiple different chatboxes can be synced and reorganized --- src/assets/autoload/playermanager.gd | 36 +++++++++++++++++++ .../elements/chatboxbase/chatboxbase.gd | 19 ++++++---- .../elements/chatboxbase/chatboxbase.tscn | 4 +-- src/assets/ui/lobbyui/chatbox/chatbox.tscn | 3 +- .../votebuttongrid/VoteButtonGrid.tscn | 3 +- .../votebuttongrid/votebutton/votebutton.gd | 0 .../votebuttongrid/votebutton/votebutton.tscn | 3 +- .../votebuttongrid/votebuttongrid.gd | 0 .../votemenu.gd => voteui/voteui.gd} | 5 ++- .../votemenu.tscn => voteui/voteui.tscn} | 6 ++-- 10 files changed, 63 insertions(+), 16 deletions(-) rename src/assets/ui/{lobbyui => }/common/elements/chatboxbase/chatboxbase.gd (86%) rename src/assets/ui/{lobbyui => }/common/elements/chatboxbase/chatboxbase.tscn (91%) rename src/assets/ui/lobbyui/{votemenu => voteui}/votebuttongrid/VoteButtonGrid.tscn (81%) rename src/assets/ui/lobbyui/{votemenu => voteui}/votebuttongrid/votebutton/votebutton.gd (100%) rename src/assets/ui/lobbyui/{votemenu => voteui}/votebuttongrid/votebutton/votebutton.tscn (95%) rename src/assets/ui/lobbyui/{votemenu => voteui}/votebuttongrid/votebuttongrid.gd (100%) rename src/assets/ui/lobbyui/{votemenu/votemenu.gd => voteui/voteui.gd} (84%) rename src/assets/ui/lobbyui/{votemenu/votemenu.tscn => voteui/voteui.tscn} (91%) diff --git a/src/assets/autoload/playermanager.gd b/src/assets/autoload/playermanager.gd index c8c94449..1ddc45d0 100644 --- a/src/assets/autoload/playermanager.gd +++ b/src/assets/autoload/playermanager.gd @@ -136,3 +136,39 @@ func setourrole(): ourrole = PlayerManager.get_player_role(Network.myID) print(ourrole) emit_signal("roles_assigned", playerRoles) + +signal message_received(sender, content, color) +signal message_received_server(sender, content, color) +signal bulk_messages_received(messages) + +func send_message(content: String, color): + print("message sent") + if get_tree().is_network_server(): + # sender is 1 because the server always has a network ID of 1 + send_message_server(1, content, color) + rpc_id(1, "receive_message_server", Network.get_my_id(), content, color) + +# used by the server to sync messages, not to send messages written by the host player +func send_message_server(sender: int, content: String, color): + print("message sent server") + if not get_tree().is_network_server(): + return + rpc("receive_message", sender, content, color) + +puppet func receive_message(sender: int, content: String, color): + print("message received") + emit_signal("message_received", sender, content, color) + +remote func receive_message_server(sender: int, content: String, color): + print("message received server") + if not get_tree().is_network_server(): + return + if get_tree().get_rpc_sender_id() != sender: + return + emit_signal("message_received_server", sender, content, color) + +func send_bulk_messages(messages): + rpc("receive_bulk_messages", messages) + +puppet func receive_bulk_messages(messages: Array): + emit_signal("bulk_messages_received", messages) diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd b/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd similarity index 86% rename from src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd rename to src/assets/ui/common/elements/chatboxbase/chatboxbase.gd index f18382a6..cec72389 100644 --- a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd +++ b/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd @@ -14,6 +14,9 @@ var receivedSide: String = "left" #side of chatbox received messages are on func _ready(): set_network_master(1) + PlayerManager.connect("message_received", self, "receiveMessage") + PlayerManager.connect("message_received_server", self, "receiveMessageServer") + PlayerManager.connect("bulk_messages_received", self, "receiveBulkMessages") showBulkMessages(PlayerManager.chatbox_cache) func sendMessage(content, color: String = defaultColor): @@ -26,9 +29,10 @@ func sendMessage(content, color: String = defaultColor): textbox.text = "" currentText = "" #TODO: switch to getting the color from locally stored data to avoid sending false colors, same with names - rpc("receiveMessage", Network.myID, content, color) + PlayerManager.send_message(content, color) + #rpc("receiveMessage", Network.myID, content, color) -puppet func receiveBulkMessages(messageArray: Array): +func receiveBulkMessages(messageArray: Array): if get_tree().is_network_server(): return PlayerManager.chatbox_cache = messageArray @@ -39,20 +43,21 @@ func showBulkMessages(messageArray: Array): for i in messageArray: showMessage(i.sender, i.content, i.color) -remote func receiveMessageServer(sender: int, content: String, color: String): +func receiveMessageServer(sender: int, content: String, color: String): #add checks here to make sure it's valid (correct color-sender combo, etc.) - if sender != get_tree().get_rpc_sender_id(): - return +# if sender != get_tree().get_rpc_sender_id(): +# return if isEmpty(content): return var usedContent = content if hasLineBreaks(usedContent): usedContent = removeLineBreaks(usedContent) - rpc("receiveMessage", sender, usedContent, color) + PlayerManager.send_message_server(sender, usedContent, color) + #rpc("receiveMessage", sender, usedContent, color) showMessage(sender, content, color) #TODO: switch to getting the color from locally stored data to avoid sending false colors -puppet func receiveMessage(sender: int, content: String, color: String): +func receiveMessage(sender: int, content: String, color: String): #add checks here to make sure it's valid (correct color-sender combo, etc.) if sender == Network.get_my_id(): return diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn b/src/assets/ui/common/elements/chatboxbase/chatboxbase.tscn similarity index 91% rename from src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn rename to src/assets/ui/common/elements/chatboxbase/chatboxbase.tscn index ec8b52a7..7b31924b 100644 --- a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn +++ b/src/assets/ui/common/elements/chatboxbase/chatboxbase.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd" type="Script" id=2] +[ext_resource path="res://assets/ui/common/elements/chatboxbase/chatboxbase.gd" type="Script" id=1] [node name="chatboxbase" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 -script = ExtResource( 2 ) +script = ExtResource( 1 ) __meta__ = { "_edit_lock_": true, "_edit_use_anchors_": false diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.tscn b/src/assets/ui/lobbyui/chatbox/chatbox.tscn index 6aeea275..c7123774 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.tscn +++ b/src/assets/ui/lobbyui/chatbox/chatbox.tscn @@ -2,7 +2,8 @@ [ext_resource path="res://assets/ui/lobbyui/chatbox/chatbox.gd" type="Script" id=1] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=2] -[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=3] +[ext_resource path="res://assets/ui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=3] + [node name="chatbox" type="WindowDialog"] anchor_left = 0.3 diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn b/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn similarity index 81% rename from src/assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn rename to src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn index 4e7ab234..55087ac3 100644 --- a/src/assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn +++ b/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn @@ -1,6 +1,7 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd" type="Script" id=1] +[ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd" type="Script" id=1] + [node name="VoteButtonGrid" type="ScrollContainer"] anchor_right = 1.0 diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.gd b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.gd similarity index 100% rename from src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.gd rename to src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.gd diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.tscn similarity index 95% rename from src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn rename to src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.tscn index 963b7047..65a0ca6f 100644 --- a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn +++ b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.tscn @@ -1,6 +1,7 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.gd" type="Script" id=1] +[ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.gd" type="Script" id=1] + [node name="votebutton" type="Button"] anchor_right = 1.0 diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd similarity index 100% rename from src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd rename to src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.gd b/src/assets/ui/lobbyui/voteui/voteui.gd similarity index 84% rename from src/assets/ui/lobbyui/votemenu/votemenu.gd rename to src/assets/ui/lobbyui/voteui/voteui.gd index b5992822..f9ed051f 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.gd +++ b/src/assets/ui/lobbyui/voteui/voteui.gd @@ -16,7 +16,7 @@ func create_vote_buttons(): button_grid.create_vote_buttons(Network.get_peers()) func vote_for(vote_for: int): - print("voting for ", vote_for) + print("voting for ", vote_for, ", my id: ", my_id) if not get_tree().is_network_server(): rpc_id(1, "recieve_vote_server", vote_for, my_id) else: @@ -25,6 +25,9 @@ func vote_for(vote_for: int): remote func recieve_vote_server(vote_for: int, vote_from: int): if not get_tree().is_network_server(): return + if get_tree().get_rpc_sender_id() != vote_from: + return + print("server recieving vote for ", vote_for, " from ", vote_from) rpc("recieve_vote", vote_for, vote_from) puppetsync func recieve_vote(vote_for: int, vote_from: int): diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.tscn b/src/assets/ui/lobbyui/voteui/voteui.tscn similarity index 91% rename from src/assets/ui/lobbyui/votemenu/votemenu.tscn rename to src/assets/ui/lobbyui/voteui/voteui.tscn index c80550ac..dcb013cf 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.tscn +++ b/src/assets/ui/lobbyui/voteui/voteui.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=2] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=1] -[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/ui/lobbyui/votemenu/votemenu.gd" type="Script" id=3] -[ext_resource path="res://assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn" type="PackedScene" id=4] +[ext_resource path="res://assets/ui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=2] +[ext_resource path="res://assets/ui/lobbyui/voteui/voteui.gd" type="Script" id=3] +[ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn" type="PackedScene" id=4] [node name="votemenu" type="WindowDialog"] anchor_left = 0.05 From 01074f98db1b4bfbd13701226173e508c7edd849 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 21:06:14 -0500 Subject: [PATCH 08/22] Chatbox actually syncs now --- src/assets/autoload/uimanager.gd | 3 + src/assets/maps/test/test.tscn | 66 ++++++++++++++++++- .../elements/chatboxbase/chatboxbase.gd | 26 +++++--- src/assets/ui/lobbyui/chatbox/chatbox.gd | 1 + src/assets/ui/lobbyui/chatbox/chatbox.tscn | 1 - .../voteui/votebuttongrid/votebuttongrid.gd | 17 +++-- src/assets/ui/lobbyui/voteui/voteui.gd | 14 +++- 7 files changed, 110 insertions(+), 18 deletions(-) diff --git a/src/assets/autoload/uimanager.gd b/src/assets/autoload/uimanager.gd index f6742264..b492147e 100644 --- a/src/assets/autoload/uimanager.gd +++ b/src/assets/autoload/uimanager.gd @@ -11,7 +11,10 @@ var ui_list: Dictionary = { #common UI "pausemenu": {"scene": preload("res://assets/ui/pausemenu/pausemenu.tscn")}, + + #lobby UI "chatbox": {"scene": preload("res://assets/ui/lobbyui/chatbox/chatbox.tscn")}, + "voteui": {"scene": preload("res://assets/ui/lobbyui/voteui/voteui.tscn")}, #task UI "clockset": {"scene": preload("res://assets/ui/tasks/clockset/clockset.tscn")} diff --git a/src/assets/maps/test/test.tscn b/src/assets/maps/test/test.tscn index 4fc025b9..bb9e3a76 100644 --- a/src/assets/maps/test/test.tscn +++ b/src/assets/maps/test/test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=32 format=2] +[gd_scene load_steps=37 format=2] [ext_resource path="res://assets/common/textures/icons/spawnpad.png" type="Texture" id=1] [ext_resource path="res://assets/maps/common/dynamic/testdoor/testdoor.tscn" type="PackedScene" id=2] @@ -194,6 +194,54 @@ task_resource = SubResource( 18 ) ui_resource = SubResource( 19 ) map_resource = SubResource( 17 ) +[sub_resource type="Resource" id=21] +resource_local_to_scene = true +resource_name = "InteractMap" +script = ExtResource( 10 ) +interact_with = NodePath("") +interact_data = { + +} + +[sub_resource type="Resource" id=22] +resource_local_to_scene = true +resource_name = "InteractUI" +script = ExtResource( 11 ) +ui_name = "clockset" +ui_data = { + +} +advanced/reinstance = false +advanced/only_instance = false + +[sub_resource type="Resource" id=23] +resource_local_to_scene = true +resource_name = "InteractTask" +script = ExtResource( 8 ) +task_text = "" +ui_resource = SubResource( 22 ) +outputs/toggle_map_interactions = false + +[sub_resource type="Resource" id=24] +resource_local_to_scene = true +resource_name = "InteractUI" +script = ExtResource( 11 ) +ui_name = "voteui" +ui_data = { + +} +advanced/reinstance = false +advanced/only_instance = false + +[sub_resource type="Resource" id=25] +resource_local_to_scene = true +resource_name = "Interact" +script = ExtResource( 9 ) +interact_type = 1 +task_resource = SubResource( 23 ) +ui_resource = SubResource( 24 ) +map_resource = SubResource( 21 ) + [node name="test" type="YSort"] [node name="Node2D" type="Node2D" parent="."] @@ -294,6 +342,22 @@ position = Vector2( 450, 0 ) interact_resource = SubResource( 20 ) display_text = "task test" +[node name="votetest" parent="." instance=ExtResource( 5 )] +position = Vector2( 0, 150 ) +interact_resource = SubResource( 25 ) +display_text = "Vote UI Test" + +[node name="Label" type="Label" parent="votetest"] +margin_left = -100.0 +margin_top = -20.0 +margin_right = 100.0 +text = "Vote UI Test" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + [node name="spawnpoints" type="Node2D" parent="."] [node name="Position2D" type="Position2D" parent="spawnpoints"] diff --git a/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd b/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd index cec72389..5c25a6a3 100644 --- a/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd +++ b/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd @@ -14,11 +14,17 @@ var receivedSide: String = "left" #side of chatbox received messages are on func _ready(): set_network_master(1) +# warning-ignore:return_value_discarded PlayerManager.connect("message_received", self, "receiveMessage") +# warning-ignore:return_value_discarded PlayerManager.connect("message_received_server", self, "receiveMessageServer") +# warning-ignore:return_value_discarded PlayerManager.connect("bulk_messages_received", self, "receiveBulkMessages") showBulkMessages(PlayerManager.chatbox_cache) +func update() -> void: + showBulkMessages(PlayerManager.chatbox_cache) + func sendMessage(content, color: String = defaultColor): if isEmpty(content) or hasLineBreaks(content): return @@ -49,9 +55,7 @@ func receiveMessageServer(sender: int, content: String, color: String): # return if isEmpty(content): return - var usedContent = content - if hasLineBreaks(usedContent): - usedContent = removeLineBreaks(usedContent) + var usedContent = processContent(content) PlayerManager.send_message_server(sender, usedContent, color) #rpc("receiveMessage", sender, usedContent, color) showMessage(sender, content, color) @@ -61,17 +65,14 @@ func receiveMessage(sender: int, content: String, color: String): #add checks here to make sure it's valid (correct color-sender combo, etc.) if sender == Network.get_my_id(): return - if isEmpty(content): - return - var usedContent = content - if hasLineBreaks(usedContent): - usedContent = removeLineBreaks(usedContent) PlayerManager.chatbox_cache.append({"sender": sender, "content": content, "color": color}) showMessage(sender, content, color) func showMessage(sender, content, color): - if content == "": + if isEmpty(content): return + content = processContent(content) + if not Network.get_peers().has(sender): return chatbox.pop() @@ -105,6 +106,11 @@ func restrictText(): else: currentText = newText +func processContent(content) -> String: + var usedContent: String = content + usedContent = removeLineBreaks(usedContent) + return content + func removeLineBreaks(content: String) -> String: var newContent = content for i in breakChars: @@ -113,6 +119,8 @@ func removeLineBreaks(content: String) -> String: #tests if the string is full of empty chars, like tabs and spaces func isEmpty(inputStr): + if inputStr == "": + return true var emptyCount = 0 for i in emptyChars: emptyCount += inputStr.count(i) diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.gd b/src/assets/ui/lobbyui/chatbox/chatbox.gd index 507f781d..93270631 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.gd +++ b/src/assets/ui/lobbyui/chatbox/chatbox.gd @@ -1,4 +1,5 @@ extends WindowDialogBase func open(): + $chatboxbase.update() $chatboxbase.focus_textbox() diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.tscn b/src/assets/ui/lobbyui/chatbox/chatbox.tscn index c7123774..5501dac2 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.tscn +++ b/src/assets/ui/lobbyui/chatbox/chatbox.tscn @@ -4,7 +4,6 @@ [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=2] [ext_resource path="res://assets/ui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=3] - [node name="chatbox" type="WindowDialog"] anchor_left = 0.3 anchor_top = 0.2 diff --git a/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd index 922da9a3..8f3eb631 100644 --- a/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd +++ b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd @@ -3,7 +3,7 @@ extends ScrollContainer #export(NodePath) var master_node_path #onready var master_node = get_node(master_node_path) -onready var button_scene: PackedScene = load("res://assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn") +onready var button_scene: PackedScene = load("res://assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.tscn") onready var grid = get_node("GridContainer") var able_to_select: bool = true @@ -14,10 +14,17 @@ var buttons: Dictionary signal vote(player_id) func _ready(): - for i in 10: - create_vote_button(i, str(i)) + pass +# for i in 10: +# create_vote_button(i, str(i)) + +func reset(): + able_to_select = true + selected = null func create_vote_buttons(player_ids: Array): + for button in buttons.values(): + button.queue_free() for player in player_ids: create_vote_button(player, Network.get_player_name(player)) @@ -42,8 +49,8 @@ func vote_for(player_id): func vote_button_pressed(button: Node): if not able_to_select: return - if selected == button: - return +# if selected == button: +# return if selected != null: selected.set_selected(false) button.set_selected(true) diff --git a/src/assets/ui/lobbyui/voteui/voteui.gd b/src/assets/ui/lobbyui/voteui/voteui.gd index f9ed051f..a6762d32 100644 --- a/src/assets/ui/lobbyui/voteui/voteui.gd +++ b/src/assets/ui/lobbyui/voteui/voteui.gd @@ -1,16 +1,26 @@ extends WindowDialogBase onready var button_grid: Node = get_node("TabContainer/Vote/VoteControl/VBoxContainer/VoteButtonGrid") +onready var chatbox: Node = get_node("TabContainer/Chat/chatboxbase") var my_id: int = Network.get_my_id() # format: {voter network ID: voted for network ID} var votes: Dictionary = {} func _ready(): - show() # hides x so players can't close the menu - get_close_button().hide() + #get_close_button().hide() button_grid.connect("vote", self, "vote_for") + create_vote_buttons() + +func open(): + chatbox.update() + reset() + +func reset(): + votes = {} + button_grid.reset() + create_vote_buttons() func create_vote_buttons(): button_grid.create_vote_buttons(Network.get_peers()) From 0d810693f60311a41f0e58f57faf08cb0ea9aa93 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 21:12:11 -0500 Subject: [PATCH 09/22] Misc work on voteui --- .../voteui/votebuttongrid/VoteButtonGrid.tscn | 1 - src/assets/ui/lobbyui/voteui/voteui.gd | 19 ++++++++++++------- src/assets/ui/lobbyui/voteui/voteui.tscn | 3 +-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn b/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn index 55087ac3..641c8f34 100644 --- a/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn +++ b/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn @@ -2,7 +2,6 @@ [ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd" type="Script" id=1] - [node name="VoteButtonGrid" type="ScrollContainer"] anchor_right = 1.0 anchor_bottom = 1.0 diff --git a/src/assets/ui/lobbyui/voteui/voteui.gd b/src/assets/ui/lobbyui/voteui/voteui.gd index a6762d32..115edb98 100644 --- a/src/assets/ui/lobbyui/voteui/voteui.gd +++ b/src/assets/ui/lobbyui/voteui/voteui.gd @@ -10,6 +10,7 @@ var votes: Dictionary = {} func _ready(): # hides x so players can't close the menu #get_close_button().hide() +# warning-ignore:return_value_discarded button_grid.connect("vote", self, "vote_for") create_vote_buttons() @@ -22,24 +23,28 @@ func reset(): button_grid.reset() create_vote_buttons() -func create_vote_buttons(): - button_grid.create_vote_buttons(Network.get_peers()) +func check_all_players_voted() -> bool: + for player in Network.get_peers(): + if not votes.has(player): + return false + return true func vote_for(vote_for: int): print("voting for ", vote_for, ", my id: ", my_id) - if not get_tree().is_network_server(): - rpc_id(1, "recieve_vote_server", vote_for, my_id) - else: - recieve_vote_server(vote_for, my_id) + rpc_id(1, "recieve_vote_server", vote_for, my_id) -remote func recieve_vote_server(vote_for: int, vote_from: int): +remotesync func recieve_vote_server(vote_for: int, vote_from: int): if not get_tree().is_network_server(): return if get_tree().get_rpc_sender_id() != vote_from: return print("server recieving vote for ", vote_for, " from ", vote_from) rpc("recieve_vote", vote_for, vote_from) + print(check_all_players_voted()) puppetsync func recieve_vote(vote_for: int, vote_from: int): print("recieving vote for ", vote_for, " from ", vote_from) votes[vote_from] = vote_for + +func create_vote_buttons(): + button_grid.create_vote_buttons(Network.get_peers()) diff --git a/src/assets/ui/lobbyui/voteui/voteui.tscn b/src/assets/ui/lobbyui/voteui/voteui.tscn index dcb013cf..e678a66b 100644 --- a/src/assets/ui/lobbyui/voteui/voteui.tscn +++ b/src/assets/ui/lobbyui/voteui/voteui.tscn @@ -5,7 +5,7 @@ [ext_resource path="res://assets/ui/lobbyui/voteui/voteui.gd" type="Script" id=3] [ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn" type="PackedScene" id=4] -[node name="votemenu" type="WindowDialog"] +[node name="voteui" type="WindowDialog"] anchor_left = 0.05 anchor_top = 0.09 anchor_right = 0.95 @@ -122,4 +122,3 @@ margin_right = 894.0 margin_bottom = 443.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"] From 1916a7126ea25297f672a24972aa2f4b7adbb5d6 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 21:23:57 -0500 Subject: [PATCH 10/22] Misc merge, I don't know how to prevent this --- src/assets/ui/mainmenu/mainmenu.tscn | 1215 +++++++++++++++++++++++++- 1 file changed, 1214 insertions(+), 1 deletion(-) diff --git a/src/assets/ui/mainmenu/mainmenu.tscn b/src/assets/ui/mainmenu/mainmenu.tscn index 3710a719..5f0eb350 100644 --- a/src/assets/ui/mainmenu/mainmenu.tscn +++ b/src/assets/ui/mainmenu/mainmenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=124 format=2] [ext_resource path="res://assets/ui/mainmenu/mainmenu.gd" type="Script" id=1] [ext_resource path="res://assets/ui/submenus/settings/keybind/keybind.tscn" type="PackedScene" id=2] @@ -8,6 +8,1217 @@ [ext_resource path="res://assets/common/fonts/menufont.tres" type="DynamicFont" id=6] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=7] [ext_resource path="res://assets/ui/submenus/appearance_editor/appearance_editor.tscn" type="PackedScene" id=8] +[ext_resource path="res://assets/common/themes/pngs/tree-arrow-collapse.png" type="Texture" id=9] +[ext_resource path="res://assets/common/themes/pngs/vslider_grabber.png" type="Texture" id=10] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-panel.png" type="Texture" id=11] +[ext_resource path="res://assets/common/themes/pngs/tree-checked.png" type="Texture" id=12] +[ext_resource path="res://assets/common/themes/pngs/vslider_slider.png" type="Texture" id=13] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-close-hilite.png" type="Texture" id=14] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-grabber-hilite.png" type="Texture" id=15] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-grabber.png" type="Texture" id=16] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-close.png" type="Texture" id=17] +[ext_resource path="res://assets/common/themes/pngs/tree-unchecked.png" type="Texture" id=18] +[ext_resource path="res://assets/common/themes/pngs/tree-arrow.png" type="Texture" id=19] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-scroll.png" type="Texture" id=20] +[ext_resource path="res://assets/common/themes/pngs/vslider_grabber_hilite.png" type="Texture" id=21] +[ext_resource path="res://assets/common/themes/pngs/menubutton_normal.png" type="Texture" id=22] +[ext_resource path="res://assets/common/themes/pngs/checkbutton-on.png" type="Texture" id=23] +[ext_resource path="res://assets/common/themes/pngs/lineedit-focus.png" type="Texture" id=24] +[ext_resource path="res://assets/common/themes/pngs/lineedit-readonly.png" type="Texture" id=25] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-grabber-hilite.png" type="Texture" id=26] +[ext_resource path="res://assets/common/themes/pngs/menubutton_hover.png" type="Texture" id=27] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-bg.png" type="Texture" id=28] +[ext_resource path="res://assets/common/themes/pngs/checkbutton-off.png" type="Texture" id=29] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-fg.png" type="Texture" id=30] +[ext_resource path="res://assets/common/themes/pngs/textedit-focus.png" type="Texture" id=31] +[ext_resource path="res://assets/common/themes/pngs/button_focus.png" type="Texture" id=32] +[ext_resource path="res://assets/common/themes/pngs/menubutton_pressed.png" type="Texture" id=33] +[ext_resource path="res://assets/common/themes/pngs/panel.png" type="Texture" id=34] +[ext_resource path="res://assets/common/themes/pngs/textedit-normal.png" type="Texture" id=35] +[ext_resource path="res://assets/common/themes/pngs/button_hover.png" type="Texture" id=36] +[ext_resource path="res://assets/common/themes/pngs/menubutton_focus.png" type="Texture" id=37] +[ext_resource path="res://assets/common/themes/pngs/textedit-completion.png" type="Texture" id=38] +[ext_resource path="res://assets/common/themes/pngs/menubutton_disabled.png" type="Texture" id=39] +[ext_resource path="res://assets/common/themes/pngs/button_disabled.png" type="Texture" id=40] +[ext_resource path="res://assets/common/themes/pngs/hslider_slider.png" type="Texture" id=41] +[ext_resource path="res://assets/common/themes/pngs/panelf.png" type="Texture" id=42] +[ext_resource path="res://assets/common/themes/pngs/button_normal.png" type="Texture" id=43] +[ext_resource path="res://assets/common/themes/pngs/lineedit-normal.png" type="Texture" id=44] +[ext_resource path="res://assets/common/themes/pngs/hslider_grabber.png" type="Texture" id=45] +[ext_resource path="res://assets/common/themes/pngs/hslider_grabber_hilite.png" type="Texture" id=46] +[ext_resource path="res://assets/common/themes/pngs/menubutton_arrow.png" type="Texture" id=47] +[ext_resource path="res://assets/common/themes/pngs/popuppanel.png" type="Texture" id=48] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-increment-hilite.png" type="Texture" id=49] +[ext_resource path="res://assets/common/themes/pngs/progressbar-fg.png" type="Texture" id=50] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-grabber.png" type="Texture" id=51] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-decrement-hilite.png" type="Texture" id=52] +[ext_resource path="res://assets/common/themes/pngs/progressbar-bg.png" type="Texture" id=53] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-scroll.png" type="Texture" id=54] +[ext_resource path="res://assets/common/themes/pngs/button_pressed.png" type="Texture" id=55] + +[sub_resource type="StyleBoxTexture" id=1] +texture = ExtResource( 40 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=2] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=3] +texture = ExtResource( 36 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=4] +texture = ExtResource( 43 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=5] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=6] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=7] +texture = ExtResource( 40 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=8] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=9] +texture = ExtResource( 36 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=10] +texture = ExtResource( 43 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 7.0 +margin_right = 7.0 +margin_top = 7.0 +margin_bottom = 7.0 + +[sub_resource type="StyleBoxTexture" id=11] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=12] +texture = ExtResource( 51 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=13] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=14] +texture = ExtResource( 54 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=15] +texture = ExtResource( 54 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=16] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=17] +texture = ExtResource( 41 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=18] +texture = ExtResource( 24 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=19] +texture = ExtResource( 44 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=20] +texture = ExtResource( 25 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=21] +texture = ExtResource( 39 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=22] +texture = ExtResource( 37 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=23] +texture = ExtResource( 27 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=24] +texture = ExtResource( 22 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=25] +texture = ExtResource( 33 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=26] +texture = ExtResource( 39 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=27] +texture = ExtResource( 37 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=28] +texture = ExtResource( 27 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=29] +texture = ExtResource( 22 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=30] +texture = ExtResource( 33 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=31] +texture = ExtResource( 34 ) +region_rect = Rect2( 0, 0, 8, 8 ) + +[sub_resource type="StyleBoxTexture" id=32] +texture = ExtResource( 42 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=33] +texture = ExtResource( 48 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 8.0 +margin_right = 8.0 +margin_top = 8.0 +margin_bottom = 8.0 + +[sub_resource type="StyleBoxTexture" id=34] +texture = ExtResource( 42 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 + +[sub_resource type="StyleBoxTexture" id=35] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=36] +texture = ExtResource( 48 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 3.0 +expand_margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=37] +texture = ExtResource( 48 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 3.0 +expand_margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=38] +texture = ExtResource( 53 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 10.0 +margin_right = 10.0 + +[sub_resource type="StyleBoxTexture" id=39] +texture = ExtResource( 50 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 7.0 +margin_right = 7.0 + +[sub_resource type="StyleBoxTexture" id=40] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=41] +texture = ExtResource( 42 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=42] +texture = ExtResource( 28 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=43] +texture = ExtResource( 30 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=44] +texture = ExtResource( 38 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=45] +texture = ExtResource( 31 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=46] +texture = ExtResource( 35 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 12.0 +margin_right = 12.0 +margin_top = 12.0 +margin_bottom = 12.0 + +[sub_resource type="StyleBoxEmpty" id=47] + +[sub_resource type="StyleBoxTexture" id=48] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=49] +texture = ExtResource( 43 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxEmpty" id=50] + +[sub_resource type="StyleBoxTexture" id=51] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=52] +texture = ExtResource( 42 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 9.0 +margin_right = 9.0 +margin_top = 9.0 +margin_bottom = 9.0 +expand_margin_left = 4.0 +expand_margin_right = 4.0 +expand_margin_top = 4.0 +expand_margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=53] +texture = ExtResource( 35 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=54] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=55] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=56] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=57] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=58] +texture = ExtResource( 36 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=59] +texture = ExtResource( 36 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=60] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=61] +texture = ExtResource( 16 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=62] +texture = ExtResource( 15 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=63] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=64] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=65] +texture = ExtResource( 13 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=66] +texture = ExtResource( 11 ) +region_rect = Rect2( 0, 0, 16, 64 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 28.0 +margin_bottom = 7.0 +expand_margin_left = 3.0 +expand_margin_right = 3.0 +expand_margin_top = 26.0 +expand_margin_bottom = 3.0 + +[sub_resource type="Theme" id=67] +resource_local_to_scene = true +Button/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +Button/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +Button/constants/hseparation = 2 +Button/fonts/font = null +Button/styles/disabled = SubResource( 1 ) +Button/styles/focus = SubResource( 2 ) +Button/styles/hover = SubResource( 3 ) +Button/styles/normal = SubResource( 4 ) +Button/styles/pressed = SubResource( 5 ) +CheckButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +CheckButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +CheckButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +CheckButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +CheckButton/constants/check_vadjust = 0 +CheckButton/constants/hseparation = 4 +CheckButton/fonts/font = null +CheckButton/icons/off = ExtResource( 29 ) +CheckButton/icons/on = ExtResource( 23 ) +CheckButton/styles/disabled = null +CheckButton/styles/focus = SubResource( 6 ) +CheckButton/styles/hover = null +CheckButton/styles/normal = null +CheckButton/styles/pressed = null +ColorPicker/constants/h_width = 30 +ColorPicker/constants/label_width = 10 +ColorPicker/constants/margin = 4 +ColorPicker/constants/sv_height = 256 +ColorPicker/constants/sv_width = 256 +ColorPicker/icons/add_preset = null +ColorPicker/icons/color_hue = null +ColorPicker/icons/color_sample = null +ColorPicker/icons/preset_bg = null +ColorPicker/icons/screen_picker = null +ColorPickerButton/colors/font_color = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.3 ) +ColorPickerButton/colors/font_color_hover = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_pressed = Color( 0.8, 0.8, 0.8, 1 ) +ColorPickerButton/constants/hseparation = 2 +ColorPickerButton/fonts/font = null +ColorPickerButton/icons/bg = null +ColorPickerButton/styles/disabled = SubResource( 7 ) +ColorPickerButton/styles/focus = SubResource( 8 ) +ColorPickerButton/styles/hover = SubResource( 9 ) +ColorPickerButton/styles/normal = SubResource( 10 ) +ColorPickerButton/styles/pressed = SubResource( 11 ) +Dialogs/constants/button_margin = 32 +Dialogs/constants/margin = 10 +FileDialog/colors/files_disabled = Color( 0, 0, 0, 0.7 ) +FileDialog/icons/folder = null +FileDialog/icons/parent_folder = null +FileDialog/icons/reload = null +GridContainer/constants/hseparation = 4 +GridContainer/constants/vseparation = 4 +HBoxContainer/constants/separation = 4 +HScrollBar/icons/decrement = null +HScrollBar/icons/decrement_highlight = null +HScrollBar/icons/increment = null +HScrollBar/icons/increment_highlight = null +HScrollBar/styles/grabber = SubResource( 12 ) +HScrollBar/styles/grabber_highlight = SubResource( 13 ) +HScrollBar/styles/grabber_pressed = null +HScrollBar/styles/scroll = SubResource( 14 ) +HScrollBar/styles/scroll_focus = SubResource( 15 ) +HSeparator/constants/separation = 7 +HSeparator/styles/separator = null +HSlider/icons/grabber = ExtResource( 45 ) +HSlider/icons/grabber_disabled = null +HSlider/icons/grabber_highlight = ExtResource( 46 ) +HSlider/icons/tick = null +HSlider/styles/focus = SubResource( 16 ) +HSlider/styles/grabber_area = null +HSlider/styles/grabber_disabled = null +HSlider/styles/grabber_highlight = null +HSlider/styles/slider = SubResource( 17 ) +HSplitContainer/constants/autohide = 1 +HSplitContainer/constants/separation = 8 +HSplitContainer/icons/grabber = null +HSplitContainer/styles/bg = null +LineEdit/colors/cursor_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +LineEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +LineEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +LineEdit/constants/minimum_spaces = 8 +LineEdit/fonts/font = null +LineEdit/styles/focus = SubResource( 18 ) +LineEdit/styles/normal = SubResource( 19 ) +LineEdit/styles/read_only = SubResource( 20 ) +MarginContainer/constants/margin_bottom = 15 +MarginContainer/constants/margin_left = 15 +MarginContainer/constants/margin_right = 15 +MarginContainer/constants/margin_top = 15 +MenuButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +MenuButton/colors/font_color_disabled = Color( 1, 1, 1, 0.3 ) +MenuButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +MenuButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +MenuButton/constants/hseparation = 2 +MenuButton/fonts/font = null +MenuButton/styles/disabled = SubResource( 21 ) +MenuButton/styles/focus = SubResource( 22 ) +MenuButton/styles/hover = SubResource( 23 ) +MenuButton/styles/normal = SubResource( 24 ) +MenuButton/styles/pressed = SubResource( 25 ) +OptionButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +OptionButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +OptionButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +OptionButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +OptionButton/constants/arrow_margin = 1 +OptionButton/constants/hseparation = 2 +OptionButton/fonts/font = null +OptionButton/icons/arrow = ExtResource( 47 ) +OptionButton/styles/disabled = SubResource( 26 ) +OptionButton/styles/focus = SubResource( 27 ) +OptionButton/styles/hover = SubResource( 28 ) +OptionButton/styles/normal = SubResource( 29 ) +OptionButton/styles/pressed = SubResource( 30 ) +Panel/styles/panel = SubResource( 31 ) +Panel/styles/panelf = SubResource( 32 ) +Panel/styles/panelnc = SubResource( 33 ) +PanelContainer/styles/panel = SubResource( 34 ) +PopupMenu/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/colors/font_color_accel = Color( 0.7, 0.7, 0.7, 0.8 ) +PopupMenu/colors/font_color_disabled = Color( 0.4, 0.4, 0.4, 0.8 ) +PopupMenu/colors/font_color_hover = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/constants/hseparation = 2 +PopupMenu/constants/vseparation = 1 +PopupMenu/fonts/font = null +PopupMenu/icons/checked = null +PopupMenu/icons/radio_checked = null +PopupMenu/icons/radio_unchecked = null +PopupMenu/icons/submenu = ExtResource( 49 ) +PopupMenu/icons/unchecked = null +PopupMenu/styles/hover = SubResource( 35 ) +PopupMenu/styles/panel = SubResource( 36 ) +PopupMenu/styles/panel_disabled = null +PopupMenu/styles/separator = null +PopupPanel/styles/panel = SubResource( 37 ) +ProgressBar/colors/font_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +ProgressBar/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +ProgressBar/fonts/font = null +ProgressBar/styles/bg = SubResource( 38 ) +ProgressBar/styles/fg = SubResource( 39 ) +RichTextLabel/colors/default_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +RichTextLabel/colors/font_color_selected = Color( 0.490196, 0.490196, 0.490196, 1 ) +RichTextLabel/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +RichTextLabel/constants/line_separation = 1 +RichTextLabel/constants/table_hseparation = 3 +RichTextLabel/constants/table_vseparation = 3 +RichTextLabel/fonts/bold_font = null +RichTextLabel/fonts/bold_italics_font = null +RichTextLabel/fonts/italics_font = null +RichTextLabel/fonts/mono_font = null +RichTextLabel/fonts/normal_font = null +RichTextLabel/styles/focus = SubResource( 40 ) +RichTextLabel/styles/normal = null +TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) +TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +TabContainer/colors/font_color_fg = Color( 0.941176, 0.941176, 0.941176, 1 ) +TabContainer/constants/hseparation = 2 +TabContainer/constants/label_valign_bg = 5 +TabContainer/constants/label_valign_fg = 4 +TabContainer/constants/side_margin = 5 +TabContainer/constants/top_margin = 5 +TabContainer/fonts/font = null +TabContainer/icons/decrement = null +TabContainer/icons/decrement_highlight = ExtResource( 52 ) +TabContainer/icons/increment = null +TabContainer/icons/increment_highlight = ExtResource( 49 ) +TabContainer/icons/menu = null +TabContainer/icons/menu_highlight = null +TabContainer/styles/panel = SubResource( 41 ) +TabContainer/styles/tab_bg = SubResource( 42 ) +TabContainer/styles/tab_fg = SubResource( 43 ) +TextEdit/colors/background_color = Color( 0, 0, 0, 0 ) +TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 ) +TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 ) +TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/caret_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 ) +TextEdit/colors/completion_background_color = Color( 0.172549, 0.164706, 0.196078, 1 ) +TextEdit/colors/completion_existing_color = Color( 0.87451, 0.87451, 0.87451, 0.129412 ) +TextEdit/colors/completion_font_color = Color( 0.666667, 0.666667, 0.666667, 1 ) +TextEdit/colors/completion_scroll_color = Color( 1, 1, 1, 1 ) +TextEdit/colors/completion_selected_color = Color( 0.262745, 0.258824, 0.266667, 1 ) +TextEdit/colors/current_line_color = Color( 0.25, 0.25, 0.26, 0.8 ) +TextEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +TextEdit/colors/function_color = Color( 0.4, 0.635294, 0.807843, 1 ) +TextEdit/colors/line_number_color = Color( 0.666667, 0.666667, 0.666667, 0.4 ) +TextEdit/colors/mark_color = Color( 1, 0.4, 0.4, 0.4 ) +TextEdit/colors/member_variable_color = Color( 0.901961, 0.305882, 0.34902, 1 ) +TextEdit/colors/number_color = Color( 0.921569, 0.584314, 0.196078, 1 ) +TextEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +TextEdit/colors/symbol_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +TextEdit/colors/word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 ) +TextEdit/constants/completion_lines = 7 +TextEdit/constants/completion_max_width = 50 +TextEdit/constants/completion_scroll_width = 3 +TextEdit/constants/line_spacing = 1 +TextEdit/fonts/font = null +TextEdit/icons/tab = null +TextEdit/styles/completion = SubResource( 44 ) +TextEdit/styles/focus = SubResource( 45 ) +TextEdit/styles/normal = SubResource( 46 ) +TextEdit/styles/read_only = null +ToolButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +ToolButton/colors/font_color_disabled = Color( 0.9, 0.95, 1, 0.3 ) +ToolButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +ToolButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +ToolButton/constants/hseparation = 2 +ToolButton/fonts/font = null +ToolButton/styles/disabled = SubResource( 47 ) +ToolButton/styles/focus = SubResource( 48 ) +ToolButton/styles/hover = SubResource( 49 ) +ToolButton/styles/normal = SubResource( 50 ) +ToolButton/styles/pressed = SubResource( 51 ) +TooltipLabel/colors/font_color = Color( 1, 1, 1, 1 ) +TooltipLabel/colors/font_color_shadow = Color( 0, 0, 0, 0.1 ) +TooltipLabel/constants/shadow_offset_x = 1 +TooltipLabel/constants/shadow_offset_y = 1 +TooltipLabel/fonts/font = null +TooltipPanel/styles/panel = SubResource( 52 ) +Tree/colors/cursor_color = Color( 0, 0, 0, 1 ) +Tree/colors/custom_button_font_highlight = Color( 0.941176, 0.941176, 0.941176, 1 ) +Tree/colors/drop_position_color = Color( 1, 0.3, 0.2, 1 ) +Tree/colors/font_color = Color( 0.690196, 0.690196, 0.690196, 1 ) +Tree/colors/font_color_selected = Color( 1, 1, 1, 1 ) +Tree/colors/guide_color = Color( 0, 0, 0, 0.1 ) +Tree/colors/relationship_line_color = Color( 0.27451, 0.27451, 0.27451, 1 ) +Tree/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +Tree/colors/title_button_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Tree/constants/button_margin = 3 +Tree/constants/draw_relationship_lines = 0 +Tree/constants/guide_width = 1 +Tree/constants/hseparation = 2 +Tree/constants/item_margin = 12 +Tree/constants/scroll_border = 4 +Tree/constants/scroll_speed = 12 +Tree/constants/vseparation = 1 +Tree/fonts/font = null +Tree/fonts/title_button_font = null +Tree/icons/arrow = ExtResource( 19 ) +Tree/icons/arrow_collapsed = ExtResource( 9 ) +Tree/icons/checked = ExtResource( 12 ) +Tree/icons/select_arrow = null +Tree/icons/unchecked = ExtResource( 18 ) +Tree/icons/updown = null +Tree/styles/bg = SubResource( 53 ) +Tree/styles/bg_focus = null +Tree/styles/button_pressed = SubResource( 54 ) +Tree/styles/cursor = SubResource( 55 ) +Tree/styles/cursor_unfocused = null +Tree/styles/custom_button = null +Tree/styles/custom_button_hover = null +Tree/styles/custom_button_pressed = null +Tree/styles/selected = SubResource( 56 ) +Tree/styles/selected_focus = SubResource( 57 ) +Tree/styles/title_button_hover = SubResource( 58 ) +Tree/styles/title_button_normal = SubResource( 59 ) +Tree/styles/title_button_pressed = SubResource( 60 ) +VBoxContainer/constants/separation = 4 +VScrollBar/icons/decrement = null +VScrollBar/icons/decrement_highlight = null +VScrollBar/icons/increment = null +VScrollBar/icons/increment_highlight = null +VScrollBar/styles/grabber = SubResource( 61 ) +VScrollBar/styles/grabber_highlight = SubResource( 62 ) +VScrollBar/styles/grabber_pressed = null +VScrollBar/styles/scroll = SubResource( 63 ) +VScrollBar/styles/scroll_focus = SubResource( 64 ) +VSeparator/constants/separation = 7 +VSeparator/styles/separator = null +VSlider/icons/grabber = ExtResource( 10 ) +VSlider/icons/grabber_disabled = null +VSlider/icons/grabber_highlight = ExtResource( 21 ) +VSlider/icons/tick = null +VSlider/styles/focus = null +VSlider/styles/grabber_area = null +VSlider/styles/grabber_disabled = null +VSlider/styles/grabber_highlight = null +VSlider/styles/slider = SubResource( 65 ) +VSplitContainer/constants/autohide = 1 +VSplitContainer/constants/separation = 8 +VSplitContainer/icons/grabber = null +VSplitContainer/styles/bg = null +WindowDialog/colors/title_color = Color( 1, 1, 1, 1 ) +WindowDialog/constants/close_h_ofs = 22 +WindowDialog/constants/close_v_ofs = 20 +WindowDialog/constants/scaleborder_size = 4 +WindowDialog/constants/title_height = 20 +WindowDialog/fonts/title_font = null +WindowDialog/icons/close = ExtResource( 17 ) +WindowDialog/icons/close_highlight = ExtResource( 14 ) +WindowDialog/styles/panel = SubResource( 66 ) + +[sub_resource type="Theme" id=68] +resource_local_to_scene = true +Button/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +Button/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +Button/constants/hseparation = 2 +Button/fonts/font = null +Button/styles/disabled = SubResource( 1 ) +Button/styles/focus = SubResource( 2 ) +Button/styles/hover = SubResource( 3 ) +Button/styles/normal = SubResource( 4 ) +Button/styles/pressed = SubResource( 5 ) +CheckButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +CheckButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +CheckButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +CheckButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +CheckButton/constants/check_vadjust = 0 +CheckButton/constants/hseparation = 4 +CheckButton/fonts/font = null +CheckButton/icons/off = ExtResource( 29 ) +CheckButton/icons/on = ExtResource( 23 ) +CheckButton/styles/disabled = null +CheckButton/styles/focus = SubResource( 6 ) +CheckButton/styles/hover = null +CheckButton/styles/normal = null +CheckButton/styles/pressed = null +ColorPicker/constants/h_width = 30 +ColorPicker/constants/label_width = 10 +ColorPicker/constants/margin = 4 +ColorPicker/constants/sv_height = 256 +ColorPicker/constants/sv_width = 256 +ColorPicker/icons/add_preset = null +ColorPicker/icons/color_hue = null +ColorPicker/icons/color_sample = null +ColorPicker/icons/preset_bg = null +ColorPicker/icons/screen_picker = null +ColorPickerButton/colors/font_color = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.3 ) +ColorPickerButton/colors/font_color_hover = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_pressed = Color( 0.8, 0.8, 0.8, 1 ) +ColorPickerButton/constants/hseparation = 2 +ColorPickerButton/fonts/font = null +ColorPickerButton/icons/bg = null +ColorPickerButton/styles/disabled = SubResource( 7 ) +ColorPickerButton/styles/focus = SubResource( 8 ) +ColorPickerButton/styles/hover = SubResource( 9 ) +ColorPickerButton/styles/normal = SubResource( 10 ) +ColorPickerButton/styles/pressed = SubResource( 11 ) +Dialogs/constants/button_margin = 32 +Dialogs/constants/margin = 10 +FileDialog/colors/files_disabled = Color( 0, 0, 0, 0.7 ) +FileDialog/icons/folder = null +FileDialog/icons/parent_folder = null +FileDialog/icons/reload = null +GridContainer/constants/hseparation = 4 +GridContainer/constants/vseparation = 4 +HBoxContainer/constants/separation = 4 +HScrollBar/icons/decrement = null +HScrollBar/icons/decrement_highlight = null +HScrollBar/icons/increment = null +HScrollBar/icons/increment_highlight = null +HScrollBar/styles/grabber = SubResource( 12 ) +HScrollBar/styles/grabber_highlight = SubResource( 13 ) +HScrollBar/styles/grabber_pressed = null +HScrollBar/styles/scroll = SubResource( 14 ) +HScrollBar/styles/scroll_focus = SubResource( 15 ) +HSeparator/constants/separation = 7 +HSeparator/styles/separator = null +HSlider/icons/grabber = ExtResource( 45 ) +HSlider/icons/grabber_disabled = null +HSlider/icons/grabber_highlight = ExtResource( 46 ) +HSlider/icons/tick = null +HSlider/styles/focus = SubResource( 16 ) +HSlider/styles/grabber_area = null +HSlider/styles/grabber_disabled = null +HSlider/styles/grabber_highlight = null +HSlider/styles/slider = SubResource( 17 ) +HSplitContainer/constants/autohide = 1 +HSplitContainer/constants/separation = 8 +HSplitContainer/icons/grabber = null +HSplitContainer/styles/bg = null +LineEdit/colors/cursor_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +LineEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +LineEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +LineEdit/constants/minimum_spaces = 8 +LineEdit/fonts/font = null +LineEdit/styles/focus = SubResource( 18 ) +LineEdit/styles/normal = SubResource( 19 ) +LineEdit/styles/read_only = SubResource( 20 ) +MarginContainer/constants/margin_bottom = 15 +MarginContainer/constants/margin_left = 15 +MarginContainer/constants/margin_right = 15 +MarginContainer/constants/margin_top = 15 +MenuButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +MenuButton/colors/font_color_disabled = Color( 1, 1, 1, 0.3 ) +MenuButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +MenuButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +MenuButton/constants/hseparation = 2 +MenuButton/fonts/font = null +MenuButton/styles/disabled = SubResource( 21 ) +MenuButton/styles/focus = SubResource( 22 ) +MenuButton/styles/hover = SubResource( 23 ) +MenuButton/styles/normal = SubResource( 24 ) +MenuButton/styles/pressed = SubResource( 25 ) +OptionButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +OptionButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +OptionButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +OptionButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +OptionButton/constants/arrow_margin = 1 +OptionButton/constants/hseparation = 2 +OptionButton/fonts/font = null +OptionButton/icons/arrow = ExtResource( 47 ) +OptionButton/styles/disabled = SubResource( 26 ) +OptionButton/styles/focus = SubResource( 27 ) +OptionButton/styles/hover = SubResource( 28 ) +OptionButton/styles/normal = SubResource( 29 ) +OptionButton/styles/pressed = SubResource( 30 ) +Panel/styles/panel = SubResource( 31 ) +Panel/styles/panelf = SubResource( 32 ) +Panel/styles/panelnc = SubResource( 33 ) +PanelContainer/styles/panel = SubResource( 34 ) +PopupMenu/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/colors/font_color_accel = Color( 0.7, 0.7, 0.7, 0.8 ) +PopupMenu/colors/font_color_disabled = Color( 0.4, 0.4, 0.4, 0.8 ) +PopupMenu/colors/font_color_hover = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/constants/hseparation = 2 +PopupMenu/constants/vseparation = 1 +PopupMenu/fonts/font = null +PopupMenu/icons/checked = null +PopupMenu/icons/radio_checked = null +PopupMenu/icons/radio_unchecked = null +PopupMenu/icons/submenu = ExtResource( 49 ) +PopupMenu/icons/unchecked = null +PopupMenu/styles/hover = SubResource( 35 ) +PopupMenu/styles/panel = SubResource( 36 ) +PopupMenu/styles/panel_disabled = null +PopupMenu/styles/separator = null +PopupPanel/styles/panel = SubResource( 37 ) +ProgressBar/colors/font_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +ProgressBar/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +ProgressBar/fonts/font = null +ProgressBar/styles/bg = SubResource( 38 ) +ProgressBar/styles/fg = SubResource( 39 ) +RichTextLabel/colors/default_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +RichTextLabel/colors/font_color_selected = Color( 0.490196, 0.490196, 0.490196, 1 ) +RichTextLabel/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +RichTextLabel/constants/line_separation = 1 +RichTextLabel/constants/table_hseparation = 3 +RichTextLabel/constants/table_vseparation = 3 +RichTextLabel/fonts/bold_font = null +RichTextLabel/fonts/bold_italics_font = null +RichTextLabel/fonts/italics_font = null +RichTextLabel/fonts/mono_font = null +RichTextLabel/fonts/normal_font = null +RichTextLabel/styles/focus = SubResource( 40 ) +RichTextLabel/styles/normal = null +TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) +TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +TabContainer/colors/font_color_fg = Color( 0.941176, 0.941176, 0.941176, 1 ) +TabContainer/constants/hseparation = 2 +TabContainer/constants/label_valign_bg = 5 +TabContainer/constants/label_valign_fg = 4 +TabContainer/constants/side_margin = 5 +TabContainer/constants/top_margin = 5 +TabContainer/fonts/font = null +TabContainer/icons/decrement = null +TabContainer/icons/decrement_highlight = ExtResource( 52 ) +TabContainer/icons/increment = null +TabContainer/icons/increment_highlight = ExtResource( 49 ) +TabContainer/icons/menu = null +TabContainer/icons/menu_highlight = null +TabContainer/styles/panel = SubResource( 41 ) +TabContainer/styles/tab_bg = SubResource( 42 ) +TabContainer/styles/tab_fg = SubResource( 43 ) +TextEdit/colors/background_color = Color( 0, 0, 0, 0 ) +TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 ) +TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 ) +TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/caret_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 ) +TextEdit/colors/completion_background_color = Color( 0.172549, 0.164706, 0.196078, 1 ) +TextEdit/colors/completion_existing_color = Color( 0.87451, 0.87451, 0.87451, 0.129412 ) +TextEdit/colors/completion_font_color = Color( 0.666667, 0.666667, 0.666667, 1 ) +TextEdit/colors/completion_scroll_color = Color( 1, 1, 1, 1 ) +TextEdit/colors/completion_selected_color = Color( 0.262745, 0.258824, 0.266667, 1 ) +TextEdit/colors/current_line_color = Color( 0.25, 0.25, 0.26, 0.8 ) +TextEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +TextEdit/colors/function_color = Color( 0.4, 0.635294, 0.807843, 1 ) +TextEdit/colors/line_number_color = Color( 0.666667, 0.666667, 0.666667, 0.4 ) +TextEdit/colors/mark_color = Color( 1, 0.4, 0.4, 0.4 ) +TextEdit/colors/member_variable_color = Color( 0.901961, 0.305882, 0.34902, 1 ) +TextEdit/colors/number_color = Color( 0.921569, 0.584314, 0.196078, 1 ) +TextEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +TextEdit/colors/symbol_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +TextEdit/colors/word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 ) +TextEdit/constants/completion_lines = 7 +TextEdit/constants/completion_max_width = 50 +TextEdit/constants/completion_scroll_width = 3 +TextEdit/constants/line_spacing = 1 +TextEdit/fonts/font = null +TextEdit/icons/tab = null +TextEdit/styles/completion = SubResource( 44 ) +TextEdit/styles/focus = SubResource( 45 ) +TextEdit/styles/normal = SubResource( 46 ) +TextEdit/styles/read_only = null +ToolButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +ToolButton/colors/font_color_disabled = Color( 0.9, 0.95, 1, 0.3 ) +ToolButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +ToolButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +ToolButton/constants/hseparation = 2 +ToolButton/fonts/font = null +ToolButton/styles/disabled = SubResource( 47 ) +ToolButton/styles/focus = SubResource( 48 ) +ToolButton/styles/hover = SubResource( 49 ) +ToolButton/styles/normal = SubResource( 50 ) +ToolButton/styles/pressed = SubResource( 51 ) +TooltipLabel/colors/font_color = Color( 1, 1, 1, 1 ) +TooltipLabel/colors/font_color_shadow = Color( 0, 0, 0, 0.1 ) +TooltipLabel/constants/shadow_offset_x = 1 +TooltipLabel/constants/shadow_offset_y = 1 +TooltipLabel/fonts/font = null +TooltipPanel/styles/panel = SubResource( 52 ) +Tree/colors/cursor_color = Color( 0, 0, 0, 1 ) +Tree/colors/custom_button_font_highlight = Color( 0.941176, 0.941176, 0.941176, 1 ) +Tree/colors/drop_position_color = Color( 1, 0.3, 0.2, 1 ) +Tree/colors/font_color = Color( 0.690196, 0.690196, 0.690196, 1 ) +Tree/colors/font_color_selected = Color( 1, 1, 1, 1 ) +Tree/colors/guide_color = Color( 0, 0, 0, 0.1 ) +Tree/colors/relationship_line_color = Color( 0.27451, 0.27451, 0.27451, 1 ) +Tree/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +Tree/colors/title_button_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Tree/constants/button_margin = 3 +Tree/constants/draw_relationship_lines = 0 +Tree/constants/guide_width = 1 +Tree/constants/hseparation = 2 +Tree/constants/item_margin = 12 +Tree/constants/scroll_border = 4 +Tree/constants/scroll_speed = 12 +Tree/constants/vseparation = 1 +Tree/fonts/font = null +Tree/fonts/title_button_font = null +Tree/icons/arrow = ExtResource( 19 ) +Tree/icons/arrow_collapsed = ExtResource( 9 ) +Tree/icons/checked = ExtResource( 12 ) +Tree/icons/select_arrow = null +Tree/icons/unchecked = ExtResource( 18 ) +Tree/icons/updown = null +Tree/styles/bg = SubResource( 53 ) +Tree/styles/bg_focus = null +Tree/styles/button_pressed = SubResource( 54 ) +Tree/styles/cursor = SubResource( 55 ) +Tree/styles/cursor_unfocused = null +Tree/styles/custom_button = null +Tree/styles/custom_button_hover = null +Tree/styles/custom_button_pressed = null +Tree/styles/selected = SubResource( 56 ) +Tree/styles/selected_focus = SubResource( 57 ) +Tree/styles/title_button_hover = SubResource( 58 ) +Tree/styles/title_button_normal = SubResource( 59 ) +Tree/styles/title_button_pressed = SubResource( 60 ) +VBoxContainer/constants/separation = 4 +VScrollBar/icons/decrement = null +VScrollBar/icons/decrement_highlight = null +VScrollBar/icons/increment = null +VScrollBar/icons/increment_highlight = null +VScrollBar/styles/grabber = SubResource( 61 ) +VScrollBar/styles/grabber_highlight = SubResource( 62 ) +VScrollBar/styles/grabber_pressed = null +VScrollBar/styles/scroll = SubResource( 63 ) +VScrollBar/styles/scroll_focus = SubResource( 64 ) +VSeparator/constants/separation = 7 +VSeparator/styles/separator = null +VSlider/icons/grabber = ExtResource( 10 ) +VSlider/icons/grabber_disabled = null +VSlider/icons/grabber_highlight = ExtResource( 21 ) +VSlider/icons/tick = null +VSlider/styles/focus = null +VSlider/styles/grabber_area = null +VSlider/styles/grabber_disabled = null +VSlider/styles/grabber_highlight = null +VSlider/styles/slider = SubResource( 65 ) +VSplitContainer/constants/autohide = 1 +VSplitContainer/constants/separation = 8 +VSplitContainer/icons/grabber = null +VSplitContainer/styles/bg = null +WindowDialog/colors/title_color = Color( 1, 1, 1, 1 ) +WindowDialog/constants/close_h_ofs = 22 +WindowDialog/constants/close_v_ofs = 20 +WindowDialog/constants/scaleborder_size = 4 +WindowDialog/constants/title_height = 20 +WindowDialog/fonts/title_font = null +WindowDialog/icons/close = ExtResource( 17 ) +WindowDialog/icons/close_highlight = ExtResource( 14 ) +WindowDialog/styles/panel = SubResource( 66 ) [node name="TitleScreen" type="Control"] anchor_right = 1.0 @@ -216,6 +1427,7 @@ margin_left = 64.0 margin_top = 15.0 margin_right = 704.0 margin_bottom = 215.0 +theme = SubResource( 67 ) [node name="KeyBind" parent="." instance=ExtResource( 2 )] visible = false @@ -224,6 +1436,7 @@ anchor_bottom = 1.0 [node name="AppearanceEditor" parent="." instance=ExtResource( 8 )] visible = false +theme = SubResource( 68 ) [connection signal="returnToMainMenu" from="MarginContainer/VBoxContainer/MarginContainer/MenuArea" to="MarginContainer/VBoxContainer/MarginContainer/MenuArea" method="_on_MenuArea_returnToMainMenu"] [connection signal="pressed" from="MarginContainer/VBoxContainer/MarginContainer/MenuArea/MainMenu/Control/CenterContainer/PlayGame" to="MarginContainer/VBoxContainer/MarginContainer/MenuArea" method="_on_NewGame_pressed"] [connection signal="pressed" from="MarginContainer/VBoxContainer/MarginContainer/MenuArea/MainMenu/Control2/CenterContainer/Appearence" to="MarginContainer/VBoxContainer/MarginContainer/MenuArea" method="_on_Appearence_pressed"] From 2ee04ab549e9060247caa34f862f4a281fae996e Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Thu, 3 Dec 2020 17:38:06 -0500 Subject: [PATCH 11/22] Reorganized Chatbox --- src/assets/ui/lobbyui/chatbox/chatbox.tscn | 63 +------------------ .../elements/chatboxbase/chatboxbase.gd} | 13 +--- .../elements/chatboxbase/chatboxbase.tscn | 62 ++++++++++++++++++ src/assets/ui/lobbyui/votemenu/votemenu.tscn | 8 +++ 4 files changed, 75 insertions(+), 71 deletions(-) rename src/assets/ui/lobbyui/{chatbox/chatbox.gd => common/elements/chatboxbase/chatboxbase.gd} (93%) create mode 100644 src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn create mode 100644 src/assets/ui/lobbyui/votemenu/votemenu.tscn diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.tscn b/src/assets/ui/lobbyui/chatbox/chatbox.tscn index 36c10cd4..5e98b3cd 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.tscn +++ b/src/assets/ui/lobbyui/chatbox/chatbox.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://assets/ui/lobbyui/chatbox/chatbox.gd" type="Script" id=1] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=2] +[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=3] [node name="chatbox" type="WindowDialog"] anchor_left = 0.3 @@ -12,64 +12,5 @@ rect_min_size = Vector2( 350, 250 ) theme = ExtResource( 2 ) window_title = "Chatbox" resizable = true -script = ExtResource( 1 ) -menu_name = "chatbox" -disable_movement = true -[node name="Control" type="Control" parent="."] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 10.0 -margin_top = 10.0 -margin_right = -10.0 -margin_bottom = -10.0 -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} - -[node name="chatboxText" type="RichTextLabel" parent="Control"] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_bottom = -65.0 -bbcode_enabled = true -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} - -[node name="HBoxContainer" type="HBoxContainer" parent="Control"] -anchor_top = 1.0 -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_top = -55.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="TextEdit" type="TextEdit" parent="Control/HBoxContainer"] -margin_right = 336.0 -margin_bottom = 55.0 -rect_min_size = Vector2( 150, 0 ) -size_flags_horizontal = 3 -fold_gutter = true -wrap_enabled = true -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} - -[node name="send" type="Button" parent="Control/HBoxContainer"] -margin_left = 340.0 -margin_right = 389.0 -margin_bottom = 55.0 -text = "Send" -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} -[connection signal="about_to_show" from="." to="." method="_on_chatbox_about_to_show"] -[connection signal="popup_hide" from="." to="." method="_on_chatbox_popup_hide"] -[connection signal="cursor_changed" from="Control/HBoxContainer/TextEdit" to="." method="_on_TextEdit_cursor_changed"] -[connection signal="text_changed" from="Control/HBoxContainer/TextEdit" to="." method="_on_TextEdit_text_changed"] -[connection signal="pressed" from="Control/HBoxContainer/send" to="." method="_on_send_pressed"] +[node name="chatboxbase" parent="." instance=ExtResource( 3 )] diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.gd b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd similarity index 93% rename from src/assets/ui/lobbyui/chatbox/chatbox.gd rename to src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd index 81a560a8..b199117c 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.gd +++ b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd @@ -1,7 +1,7 @@ -extends WindowDialogBase +extends Control -onready var chatbox = get_node("Control/chatboxText") -onready var textbox = get_node("Control/HBoxContainer/TextEdit") +onready var chatbox = get_node("chatboxText") +onready var textbox = get_node("HBoxContainer/TextEdit") var defaultColor: String = "white" var emptyChars: Array = [" ", " ", "\n", "\r", "\r\n"] #chars considered empty (spaces, tabs, etc.) @@ -13,7 +13,6 @@ var sentSide: String = "right" #side of chatbox sent messages are on var receivedSide: String = "left" #side of chatbox received messages are on func open(): - textbox.grab_focus() func sendMessage(content, color: String = defaultColor): @@ -92,9 +91,3 @@ func _on_TextEdit_cursor_changed(): textbox.center_viewport_to_cursor() cursorCoord.x = textbox.cursor_get_line() cursorCoord.y = textbox.cursor_get_column() - -func _on_chatbox_about_to_show(): - pass - -func _on_chatbox_popup_hide(): - pass diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn new file mode 100644 index 00000000..10689523 --- /dev/null +++ b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn @@ -0,0 +1,62 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=1] +[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd" type="Script" id=2] + +[node name="chatboxbase" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 10.0 +margin_top = 10.0 +margin_right = -10.0 +margin_bottom = -10.0 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="chatboxText" type="RichTextLabel" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_bottom = -65.0 +bbcode_enabled = true +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = -55.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextEdit" type="TextEdit" parent="HBoxContainer"] +margin_right = 951.0 +margin_bottom = 55.0 +rect_min_size = Vector2( 150, 0 ) +size_flags_horizontal = 3 +fold_gutter = true +wrap_enabled = true +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="send" type="Button" parent="HBoxContainer"] +margin_left = 955.0 +margin_right = 1004.0 +margin_bottom = 55.0 +text = "Send" +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} +[connection signal="cursor_changed" from="HBoxContainer/TextEdit" to="." method="_on_TextEdit_cursor_changed"] +[connection signal="text_changed" from="HBoxContainer/TextEdit" to="." method="_on_TextEdit_text_changed"] +[connection signal="pressed" from="HBoxContainer/send" to="." method="_on_send_pressed"] diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.tscn b/src/assets/ui/lobbyui/votemenu/votemenu.tscn new file mode 100644 index 00000000..d6dca9a9 --- /dev/null +++ b/src/assets/ui/lobbyui/votemenu/votemenu.tscn @@ -0,0 +1,8 @@ +[gd_scene format=2] + +[node name="votemenu" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} From e71618e932644984c3d23aa303c87ff232d3c705 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Thu, 3 Dec 2020 23:30:17 -0500 Subject: [PATCH 12/22] Created vote screen and reorganized chatbox --- src/assets/common/themes/iso_dark.theme | Bin 5979 -> 5986 bytes src/assets/ui/hud/defaulthud/Button.gd | 4 +- src/assets/ui/lobbyui/chatbox/chatbox.gd | 4 + src/assets/ui/lobbyui/chatbox/chatbox.tscn | 4 +- .../elements/chatboxbase/chatboxbase.gd | 9 +- .../elements/chatboxbase/chatboxbase.tscn | 16 +-- .../votebuttongrid/VoteButtonGrid.tscn | 22 ++++ .../votebuttongrid/votebutton/votebutton.gd | 56 ++++++++ .../votebuttongrid/votebutton/votebutton.tscn | 91 +++++++++++++ .../votemenu/votebuttongrid/votebuttongrid.gd | 44 +++++++ src/assets/ui/lobbyui/votemenu/votemenu.gd | 17 +++ src/assets/ui/lobbyui/votemenu/votemenu.tscn | 121 +++++++++++++++++- 12 files changed, 371 insertions(+), 17 deletions(-) create mode 100644 src/assets/ui/lobbyui/chatbox/chatbox.gd create mode 100644 src/assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn create mode 100644 src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.gd create mode 100644 src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn create mode 100644 src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd create mode 100644 src/assets/ui/lobbyui/votemenu/votemenu.gd diff --git a/src/assets/common/themes/iso_dark.theme b/src/assets/common/themes/iso_dark.theme index c87de8a4f0c2eba215236c3aeed76b80e6d4b44c..6cf369a354676e54ed3e45aa8797da0b9b59943e 100644 GIT binary patch delta 1520 zcmV@BTX2{Uwpntx%PO=eta(>B9AYVJ_MaBp4KE>J)&Pf-7Y zD#2GT{wu-lc|B1Sqvds(Oy4KaaQ}t_s0*=~y2N{!$62z7xhOVnBE3PYaJgmGn-1kO z&_wc?bYtdg5%GsY*D^&Q)3luRX}`4R`)e4we5+4(P!udr>chOHyL{-5ri$=CM}Ije zh5@p3JH^KSBi4~y&Z^0lqHL;XNfJ##xY>?2f z@Yf<71oFd255YjdCY4%k{(te<@n`Ayv2yrbXdjOM>V}OPzZKtKwMRp5IzvVtUJMx5 zX{prei|eFTFO$i1(c-6K@lUNdcIwcX^Ownq1LqCpmEIMtexE* zo;#HRfmEnbSv0c;P6w~lm?Uw@(xu79%Jkz;Q-$GzQMI#p7x z=18A#<46CnfZNdr_cm`81`pkRN`K{X;uEX#PB80io;G28VH#c&YwYuS$7ZqJBp=o+ zc`Yx)9fKDL?eQHH-v`yaGvz^fe&Ew4dDQG$xanvYj_o6E)m|hsZ13`;xTk%7;ptoo zh_kp0wyH)-n}6RIjKTG->%?F$s#R5v@jKbEWj{+x?vB{ZxhdI)d3`+_7%ugR|E~?3 zYsl)(hcp54-Tn0b?Z?On--%D$gGbUee(Zq%sF#)R+&|yn8-_Nb7#eri8IM6b^V%zY zo*qy5ypudvF7S+-~{>Sm&wI8}prTp@#wbMB)L(eVexnF3Nc6h%?_Qxn}bJWk)O> zdbo4&JZLENwuf1?&CCyo(p`PgLe2Wme9X zMWLE;vq5W1UA27H0q4uKF@M0_lZ#bvvxc;XR^a9&kV&j@{HvjJqWb@xH!+W;Yb`_b WpjQLx)o-Wj`2_Cy;j=wbQ$s`4yz0{c delta 1513 zcmV~cu5QBjMwrvt%GYAeb9H;;R69fRD03a3u$%Fuq0eiqP zi{L@l2s76|&+G%_?V@pNu**o*elQ<_%nf%C2mFiuwNkm_A=E{11e@pGz+nG5m%3?e zy?CpKkYCzmb^=Nk!J6D4+P&WKld+}0DRqCQPtY?uviXe9Y{q7o$H^UX0NE=Pg$opr z%M;{ZFiz~>()T|si~me?OSJx{ktx@SZRn@n0Ae0Glb5&{W^;=dF)tc{JBV@W3n;XF z^$?-l3^_=425y{zn8cRlOP*27FF-zM8UIsWVKUbhbo#8WvCJZ0DX4G!w=Mn8O~!wf zVbEg%RWdOk6>;R68BNd{A#=)kV_g9jPuat#IA^rW+#|2ZfrADD7Akt{b0ciEg=Bb<%B*^9199>b;#J@g$~4K0}l)k zWE|S{6`CrJ)@-mSIC1tZ2nv1x008g+FoGD$?|ElTmcmM*uu_XKwTOxQ9%TT00Db_! zl!`yf?uV-TpHlozDE=n8pK0!2l3T_}qyKusL<#GpR`2uqgp&A`Mu_;6Li~S7ApWBd z9y)NiZ<3Q6>~xx^;YMI=%m9bs!aww8;V-K26a76D5d0JVpnv(hSxU;vmvEsQ9S{~7 zskXr(qRsOAvs9)aUg)89O0iL({9I4|EhoQL6DCWPBtde-ND(5xkKz9_L`V=IH%xG_ zknqnM6#U_%2aiC&zb2JhZTf%h(D7sC_^)vET`1p;-^xY}8h_Q^Po*~_Zz>}O-W`k= z*J-KLs*CHSRxgvuY{BB6S`n3$b?D5I^OMDa^Ty4jFvW{;@DW5E!d8&HLh|%RRcoyKaz?Tr44Bq1AuW+q+N4$1Rqs zC5wYZ#XH5~8TF@kURwi{XGcc18ks|-7F=q)>_G`@dpQzh|gM)m|(e)J66 zT^v2QVE-O%`=H%X`uoReAFwu`vaV_KqzV6pv)L92eV>PSe5)-e=diZsC3hK^3|=C% z$9GVCAC&*jln148fzO-7QLk&jq@!Ilb{v6~agoTdy{#YSIQMzsr{^0!KjV7w7IdT{ zOVKVc(7aM7_fvnNN(j}`-&wdV+u1jJcZh&un94m;1oSZ3;lfXF`DEBgLsoZouoDp8 zU8cd`HpWLdPJ77Rd?dHVf*puI3bXP({O9|7!`Oy+LqqObV`OMBZ@9AO>HqPbcarD8 zwOONvxw@BMZ`}}T>BlKKbZ}?OIldBq3b*yM5zc#zvo3#`^mdCuhd)|xM}X~w9sp;Z z&qJKY_KltN3y@Azr8ibG;X(%j^hxx?3R|1^7cUCDeB}A>6kIdu|B@q?4!zX}7ZVK3 z0t2*lU$CKH08gRr2fkOAi09mqM1t+tGs_zgX~BB`G4J9B+!K|#NST$hWl^Xi)a=?x zS1zA&iq|=1a?C#f?5V`6wi!d>;bm7a#SJ={inZ&%tM8_?a}#kbU2_@ScAXkfuk?1W Pk Date: Fri, 4 Dec 2020 00:17:25 -0500 Subject: [PATCH 13/22] Improved chatbox Chatbox can now receive a message history to display --- src/assets/autoload/playermanager.gd | 4 + .../elements/chatboxbase/chatboxbase.gd | 75 +++++++++++++++---- src/assets/ui/lobbyui/votemenu/votemenu.tscn | 19 ++--- 3 files changed, 75 insertions(+), 23 deletions(-) diff --git a/src/assets/autoload/playermanager.gd b/src/assets/autoload/playermanager.gd index b689477a..a355d967 100644 --- a/src/assets/autoload/playermanager.gd +++ b/src/assets/autoload/playermanager.gd @@ -6,6 +6,10 @@ extends Node var inMenu = false var ourrole var ournumber + +# stores messages so they can be shown on multiple chatboxes +var chatbox_cache: Array + #vars for role assignment #Percent assigns based on what % should be x role, Amount assigns given amount to x role #mustAssign specifies if the role is mandatory to have, team specifies a team number which diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd index f68357ba..f18382a6 100644 --- a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd +++ b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd @@ -12,30 +12,62 @@ var cursorCoord: Vector2 = Vector2(0,0) #x is line, y is column var sentSide: String = "right" #side of chatbox sent messages are on var receivedSide: String = "left" #side of chatbox received messages are on +func _ready(): + set_network_master(1) + showBulkMessages(PlayerManager.chatbox_cache) + func sendMessage(content, color: String = defaultColor): if isEmpty(content) or hasLineBreaks(content): return if content.length() > maxChars: #if maxChars is raised clientside it can't affect other clients return - showMessage("You", content, color, sentSide) + PlayerManager.chatbox_cache.append({"sender": Network.get_my_id(), "content": content, "color": color}) + showMessage(Network.get_my_id(), content, color) textbox.text = "" currentText = "" #TODO: switch to getting the color from locally stored data to avoid sending false colors, same with names - rpc("receiveMessage", Network.myID, content, color, Network.get_player_name()) + rpc("receiveMessage", Network.myID, content, color) + +puppet func receiveBulkMessages(messageArray: Array): + if get_tree().is_network_server(): + return + PlayerManager.chatbox_cache = messageArray + showBulkMessages(messageArray) + +func showBulkMessages(messageArray: Array): + chatbox.bbcode_text = "" + for i in messageArray: + showMessage(i.sender, i.content, i.color) -#TODO: switch to getting the color from locally stored data to avoid sending false colors, same with names -remote func receiveMessage(sender: int, content: String, color: String, sentname: String): +remote func receiveMessageServer(sender: int, content: String, color: String): #add checks here to make sure it's valid (correct color-sender combo, etc.) if sender != get_tree().get_rpc_sender_id(): - #having the sender be sent and then checked allows to double check if get_rpc_sender_id returns the wrong id, most likely won't happen as long as we stay single threaded - pass - if isEmpty(content) or hasLineBreaks(content): return - #eventually use id to find the player's name - showMessage(str(sentname), content, color, receivedSide) + if isEmpty(content): + return + var usedContent = content + if hasLineBreaks(usedContent): + usedContent = removeLineBreaks(usedContent) + rpc("receiveMessage", sender, usedContent, color) + showMessage(sender, content, color) + +#TODO: switch to getting the color from locally stored data to avoid sending false colors +puppet func receiveMessage(sender: int, content: String, color: String): + #add checks here to make sure it's valid (correct color-sender combo, etc.) + if sender == Network.get_my_id(): + return + if isEmpty(content): + return + var usedContent = content + if hasLineBreaks(usedContent): + usedContent = removeLineBreaks(usedContent) + PlayerManager.chatbox_cache.append({"sender": sender, "content": content, "color": color}) + showMessage(sender, content, color) -func showMessage(sender, content, color, align: String = ""): - if sender == "" or content == "": +func showMessage(sender, content, color): + if content == "": + return + if not Network.get_peers().has(sender): return chatbox.pop() var newMessage: String @@ -45,10 +77,18 @@ func showMessage(sender, content, color, align: String = ""): chatbox.scroll_following = true else: chatbox.scroll_following = false + var senderName: String + var align: String + if sender == Network.get_my_id(): + senderName = "You" + align = sentSide + else: + senderName = Network.get_player_name(sender) + align = receivedSide if align == "right": - newMessage = "[right]" + "[color=" + color + "]" + sender + "[/color][/right]\n[right][color=" + defaultColor + "]" + content + "[/color][/right]\n" + newMessage = "[right]" + "[color=" + color + "]" + senderName + "[/color][/right]\n[right][color=" + defaultColor + "]" + content + "[/color][/right]\n" else: - newMessage = "[color=" + color + "]" + sender + "[/color]\n[color=" + defaultColor + "]" + content + "[/color]\n" + newMessage = "[color=" + color + "]" + senderName + "[/color]\n[color=" + defaultColor + "]" + content + "[/color]\n" chatbox.append_bbcode(newMessage) func restrictText(): @@ -60,6 +100,12 @@ func restrictText(): else: currentText = newText +func removeLineBreaks(content: String) -> String: + var newContent = content + for i in breakChars: + newContent = newContent.replace(i, "") + return newContent + #tests if the string is full of empty chars, like tabs and spaces func isEmpty(inputStr): var emptyCount = 0 @@ -93,4 +139,5 @@ func _on_TextEdit_cursor_changed(): cursorCoord.y = textbox.cursor_get_column() func _on_chatboxbase_visibility_changed(): - pass # Replace with function body. + if visible: + textbox.grab_focus() diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.tscn b/src/assets/ui/lobbyui/votemenu/votemenu.tscn index e227a31f..7a7e7f46 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.tscn +++ b/src/assets/ui/lobbyui/votemenu/votemenu.tscn @@ -8,7 +8,7 @@ [node name="votemenu" type="WindowDialog"] visible = true anchor_left = 0.05 -anchor_top = 0.05 +anchor_top = 0.09 anchor_right = 0.95 anchor_bottom = 0.95 rect_min_size = Vector2( 500, 350 ) @@ -32,19 +32,20 @@ __meta__ = { anchor_right = 1.0 anchor_bottom = 1.0 margin_left = 6.0 -margin_top = 37.0 +margin_top = 51.0 margin_right = -6.0 margin_bottom = -7.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_constants/margin_right = 0 +custom_constants/margin_top = -16 custom_constants/margin_left = 0 custom_constants/margin_bottom = 0 [node name="VoteControl" type="Control" parent="TabContainer/Vote"] -margin_top = 15.0 +margin_top = -16.0 margin_right = 909.0 -margin_bottom = 496.0 +margin_bottom = 458.0 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -61,12 +62,12 @@ __meta__ = { anchor_right = 0.0 anchor_bottom = 0.0 margin_right = 909.0 -margin_bottom = 443.0 +margin_bottom = 436.0 [node name="HBoxContainer" type="HBoxContainer" parent="TabContainer/Vote/VoteControl/VBoxContainer"] -margin_top = 447.0 +margin_top = 440.0 margin_right = 909.0 -margin_bottom = 481.0 +margin_bottom = 474.0 size_flags_horizontal = 3 __meta__ = { "_edit_use_anchors_": false @@ -109,7 +110,7 @@ visible = false anchor_right = 1.0 anchor_bottom = 1.0 margin_left = 6.0 -margin_top = 37.0 +margin_top = 51.0 margin_right = -6.0 margin_bottom = -7.0 @@ -119,7 +120,7 @@ anchor_bottom = 0.0 margin_left = 15.0 margin_top = 15.0 margin_right = 894.0 -margin_bottom = 481.0 +margin_bottom = 443.0 size_flags_horizontal = 3 size_flags_vertical = 3 [connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"] From 7363ddda23575dd98e1972d755b955b2e13b971a Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Fri, 4 Dec 2020 00:23:34 -0500 Subject: [PATCH 14/22] Misc --- .../votemenu/votebuttongrid/votebutton/votebutton.tscn | 4 ++-- src/assets/ui/lobbyui/votemenu/votemenu.gd | 7 +------ src/assets/ui/lobbyui/votemenu/votemenu.tscn | 1 - 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn b/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn index e4b0bf81..963b7047 100644 --- a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn +++ b/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn @@ -75,7 +75,7 @@ margin_left = 869.0 margin_right = 939.0 margin_bottom = 28.0 size_flags_horizontal = 0 -size_flags_vertical = 12 +size_flags_vertical = 3 text = "Confirm" align = 0 @@ -84,7 +84,7 @@ margin_left = 943.0 margin_right = 1004.0 margin_bottom = 28.0 size_flags_horizontal = 0 -size_flags_vertical = 12 +size_flags_vertical = 3 text = "Cancel" align = 0 [connection signal="pressed" from="MarginContainer/ConfirmCancelButtons/VBoxContainer/HBoxContainer/confirm" to="." method="_on_confirm_pressed"] diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.gd b/src/assets/ui/lobbyui/votemenu/votemenu.gd index 36e599f4..d49f415b 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.gd +++ b/src/assets/ui/lobbyui/votemenu/votemenu.gd @@ -4,14 +4,9 @@ onready var button_grid: Node = get_node("TabContainer/Vote/VoteControl/VBoxCont func _ready(): show() + # hides x so players can't close the menu get_close_button().hide() button_grid.connect("vote", self, "vote_for") func vote_for(player_id): print("voting for ", player_id) - -#func _on_visibility_changed(): -# if visible: -# UIManager.ui_opened("votemenu") -# else: -# UIManager.ui_closed("votemenu") diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.tscn b/src/assets/ui/lobbyui/votemenu/votemenu.tscn index 7a7e7f46..c80550ac 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.tscn +++ b/src/assets/ui/lobbyui/votemenu/votemenu.tscn @@ -6,7 +6,6 @@ [ext_resource path="res://assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn" type="PackedScene" id=4] [node name="votemenu" type="WindowDialog"] -visible = true anchor_left = 0.05 anchor_top = 0.09 anchor_right = 0.95 From 41a3bb0780e2a8a951ebe4f479c61a7a8222b70e Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 15:52:14 -0500 Subject: [PATCH 15/22] Added more vote functionality --- .../elements/chatboxbase/chatboxbase.tscn | 3 ++- .../votemenu/votebuttongrid/votebuttongrid.gd | 24 ++++++++++++------- src/assets/ui/lobbyui/votemenu/votemenu.gd | 24 +++++++++++++++++-- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn index 33725df8..ec8b52a7 100644 --- a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn +++ b/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn @@ -28,6 +28,7 @@ anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 margin_top = -55.0 +size_flags_vertical = 3 __meta__ = { "_edit_use_anchors_": false } @@ -37,7 +38,7 @@ margin_right = 971.0 margin_bottom = 55.0 rect_min_size = Vector2( 150, 0 ) size_flags_horizontal = 3 -fold_gutter = true +size_flags_vertical = 3 wrap_enabled = true __meta__ = { "_edit_lock_": true, diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd b/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd index e7dd03c9..922da9a3 100644 --- a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd +++ b/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd @@ -17,6 +17,21 @@ func _ready(): for i in 10: create_vote_button(i, str(i)) +func create_vote_buttons(player_ids: Array): + for player in player_ids: + create_vote_button(player, Network.get_player_name(player)) + +func create_vote_button(player_id: int, player_name: String, alive: bool = true): + var new_button: Node = button_scene.instance() + new_button.name = str(player_id) +# warning-ignore:return_value_discarded + new_button.connect("pressed", self, "vote_button_pressed", [new_button]) +# warning-ignore:return_value_discarded + new_button.connect("vote", self, "vote_for") + buttons[player_id] = new_button + grid.add_child(new_button) + new_button.init_button(player_id, player_name, alive) + func vote_for(player_id): emit_signal("vote", player_id) for i in buttons.values(): @@ -33,12 +48,3 @@ func vote_button_pressed(button: Node): selected.set_selected(false) button.set_selected(true) selected = button - -func create_vote_button(player_id: int, player_name: String, alive: bool = true): - var new_button: Node = button_scene.instance() - new_button.name = str(player_id) - new_button.connect("pressed", self, "vote_button_pressed", [new_button]) - new_button.connect("vote", self, "vote_for") - buttons[player_id] = new_button - grid.add_child(new_button) - new_button.init_button(player_id, player_name, alive) diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.gd b/src/assets/ui/lobbyui/votemenu/votemenu.gd index d49f415b..b5992822 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.gd +++ b/src/assets/ui/lobbyui/votemenu/votemenu.gd @@ -2,11 +2,31 @@ extends WindowDialogBase onready var button_grid: Node = get_node("TabContainer/Vote/VoteControl/VBoxContainer/VoteButtonGrid") +var my_id: int = Network.get_my_id() +# format: {voter network ID: voted for network ID} +var votes: Dictionary = {} + func _ready(): show() # hides x so players can't close the menu get_close_button().hide() button_grid.connect("vote", self, "vote_for") -func vote_for(player_id): - print("voting for ", player_id) +func create_vote_buttons(): + button_grid.create_vote_buttons(Network.get_peers()) + +func vote_for(vote_for: int): + print("voting for ", vote_for) + if not get_tree().is_network_server(): + rpc_id(1, "recieve_vote_server", vote_for, my_id) + else: + recieve_vote_server(vote_for, my_id) + +remote func recieve_vote_server(vote_for: int, vote_from: int): + if not get_tree().is_network_server(): + return + rpc("recieve_vote", vote_for, vote_from) + +puppetsync func recieve_vote(vote_for: int, vote_from: int): + print("recieving vote for ", vote_for, " from ", vote_from) + votes[vote_from] = vote_for From 2e54176852d0f11a49a12477844b043b80ad7535 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 20:40:28 -0500 Subject: [PATCH 16/22] Multiple different chatboxes can be synced and reorganized --- src/assets/autoload/playermanager.gd | 36 +++++++++++++++++++ .../elements/chatboxbase/chatboxbase.gd | 19 ++++++---- .../elements/chatboxbase/chatboxbase.tscn | 4 +-- src/assets/ui/lobbyui/chatbox/chatbox.tscn | 3 +- .../votebuttongrid/VoteButtonGrid.tscn | 3 +- .../votebuttongrid/votebutton/votebutton.gd | 0 .../votebuttongrid/votebutton/votebutton.tscn | 3 +- .../votebuttongrid/votebuttongrid.gd | 0 .../votemenu.gd => voteui/voteui.gd} | 5 ++- .../votemenu.tscn => voteui/voteui.tscn} | 6 ++-- 10 files changed, 63 insertions(+), 16 deletions(-) rename src/assets/ui/{lobbyui => }/common/elements/chatboxbase/chatboxbase.gd (86%) rename src/assets/ui/{lobbyui => }/common/elements/chatboxbase/chatboxbase.tscn (91%) rename src/assets/ui/lobbyui/{votemenu => voteui}/votebuttongrid/VoteButtonGrid.tscn (81%) rename src/assets/ui/lobbyui/{votemenu => voteui}/votebuttongrid/votebutton/votebutton.gd (100%) rename src/assets/ui/lobbyui/{votemenu => voteui}/votebuttongrid/votebutton/votebutton.tscn (95%) rename src/assets/ui/lobbyui/{votemenu => voteui}/votebuttongrid/votebuttongrid.gd (100%) rename src/assets/ui/lobbyui/{votemenu/votemenu.gd => voteui/voteui.gd} (84%) rename src/assets/ui/lobbyui/{votemenu/votemenu.tscn => voteui/voteui.tscn} (91%) diff --git a/src/assets/autoload/playermanager.gd b/src/assets/autoload/playermanager.gd index a355d967..48a70ce8 100644 --- a/src/assets/autoload/playermanager.gd +++ b/src/assets/autoload/playermanager.gd @@ -149,3 +149,39 @@ func setourrole(): ourrole = PlayerManager.get_player_role(Network.myID) print(ourrole) emit_signal("roles_assigned", playerRoles) + +signal message_received(sender, content, color) +signal message_received_server(sender, content, color) +signal bulk_messages_received(messages) + +func send_message(content: String, color): + print("message sent") + if get_tree().is_network_server(): + # sender is 1 because the server always has a network ID of 1 + send_message_server(1, content, color) + rpc_id(1, "receive_message_server", Network.get_my_id(), content, color) + +# used by the server to sync messages, not to send messages written by the host player +func send_message_server(sender: int, content: String, color): + print("message sent server") + if not get_tree().is_network_server(): + return + rpc("receive_message", sender, content, color) + +puppet func receive_message(sender: int, content: String, color): + print("message received") + emit_signal("message_received", sender, content, color) + +remote func receive_message_server(sender: int, content: String, color): + print("message received server") + if not get_tree().is_network_server(): + return + if get_tree().get_rpc_sender_id() != sender: + return + emit_signal("message_received_server", sender, content, color) + +func send_bulk_messages(messages): + rpc("receive_bulk_messages", messages) + +puppet func receive_bulk_messages(messages: Array): + emit_signal("bulk_messages_received", messages) diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd b/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd similarity index 86% rename from src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd rename to src/assets/ui/common/elements/chatboxbase/chatboxbase.gd index f18382a6..cec72389 100644 --- a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd +++ b/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd @@ -14,6 +14,9 @@ var receivedSide: String = "left" #side of chatbox received messages are on func _ready(): set_network_master(1) + PlayerManager.connect("message_received", self, "receiveMessage") + PlayerManager.connect("message_received_server", self, "receiveMessageServer") + PlayerManager.connect("bulk_messages_received", self, "receiveBulkMessages") showBulkMessages(PlayerManager.chatbox_cache) func sendMessage(content, color: String = defaultColor): @@ -26,9 +29,10 @@ func sendMessage(content, color: String = defaultColor): textbox.text = "" currentText = "" #TODO: switch to getting the color from locally stored data to avoid sending false colors, same with names - rpc("receiveMessage", Network.myID, content, color) + PlayerManager.send_message(content, color) + #rpc("receiveMessage", Network.myID, content, color) -puppet func receiveBulkMessages(messageArray: Array): +func receiveBulkMessages(messageArray: Array): if get_tree().is_network_server(): return PlayerManager.chatbox_cache = messageArray @@ -39,20 +43,21 @@ func showBulkMessages(messageArray: Array): for i in messageArray: showMessage(i.sender, i.content, i.color) -remote func receiveMessageServer(sender: int, content: String, color: String): +func receiveMessageServer(sender: int, content: String, color: String): #add checks here to make sure it's valid (correct color-sender combo, etc.) - if sender != get_tree().get_rpc_sender_id(): - return +# if sender != get_tree().get_rpc_sender_id(): +# return if isEmpty(content): return var usedContent = content if hasLineBreaks(usedContent): usedContent = removeLineBreaks(usedContent) - rpc("receiveMessage", sender, usedContent, color) + PlayerManager.send_message_server(sender, usedContent, color) + #rpc("receiveMessage", sender, usedContent, color) showMessage(sender, content, color) #TODO: switch to getting the color from locally stored data to avoid sending false colors -puppet func receiveMessage(sender: int, content: String, color: String): +func receiveMessage(sender: int, content: String, color: String): #add checks here to make sure it's valid (correct color-sender combo, etc.) if sender == Network.get_my_id(): return diff --git a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn b/src/assets/ui/common/elements/chatboxbase/chatboxbase.tscn similarity index 91% rename from src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn rename to src/assets/ui/common/elements/chatboxbase/chatboxbase.tscn index ec8b52a7..7b31924b 100644 --- a/src/assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn +++ b/src/assets/ui/common/elements/chatboxbase/chatboxbase.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.gd" type="Script" id=2] +[ext_resource path="res://assets/ui/common/elements/chatboxbase/chatboxbase.gd" type="Script" id=1] [node name="chatboxbase" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 -script = ExtResource( 2 ) +script = ExtResource( 1 ) __meta__ = { "_edit_lock_": true, "_edit_use_anchors_": false diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.tscn b/src/assets/ui/lobbyui/chatbox/chatbox.tscn index 6aeea275..c7123774 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.tscn +++ b/src/assets/ui/lobbyui/chatbox/chatbox.tscn @@ -2,7 +2,8 @@ [ext_resource path="res://assets/ui/lobbyui/chatbox/chatbox.gd" type="Script" id=1] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=2] -[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=3] +[ext_resource path="res://assets/ui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=3] + [node name="chatbox" type="WindowDialog"] anchor_left = 0.3 diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn b/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn similarity index 81% rename from src/assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn rename to src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn index 4e7ab234..55087ac3 100644 --- a/src/assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn +++ b/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn @@ -1,6 +1,7 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd" type="Script" id=1] +[ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd" type="Script" id=1] + [node name="VoteButtonGrid" type="ScrollContainer"] anchor_right = 1.0 diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.gd b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.gd similarity index 100% rename from src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.gd rename to src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.gd diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.tscn similarity index 95% rename from src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn rename to src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.tscn index 963b7047..65a0ca6f 100644 --- a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn +++ b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.tscn @@ -1,6 +1,7 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.gd" type="Script" id=1] +[ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.gd" type="Script" id=1] + [node name="votebutton" type="Button"] anchor_right = 1.0 diff --git a/src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd similarity index 100% rename from src/assets/ui/lobbyui/votemenu/votebuttongrid/votebuttongrid.gd rename to src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.gd b/src/assets/ui/lobbyui/voteui/voteui.gd similarity index 84% rename from src/assets/ui/lobbyui/votemenu/votemenu.gd rename to src/assets/ui/lobbyui/voteui/voteui.gd index b5992822..f9ed051f 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.gd +++ b/src/assets/ui/lobbyui/voteui/voteui.gd @@ -16,7 +16,7 @@ func create_vote_buttons(): button_grid.create_vote_buttons(Network.get_peers()) func vote_for(vote_for: int): - print("voting for ", vote_for) + print("voting for ", vote_for, ", my id: ", my_id) if not get_tree().is_network_server(): rpc_id(1, "recieve_vote_server", vote_for, my_id) else: @@ -25,6 +25,9 @@ func vote_for(vote_for: int): remote func recieve_vote_server(vote_for: int, vote_from: int): if not get_tree().is_network_server(): return + if get_tree().get_rpc_sender_id() != vote_from: + return + print("server recieving vote for ", vote_for, " from ", vote_from) rpc("recieve_vote", vote_for, vote_from) puppetsync func recieve_vote(vote_for: int, vote_from: int): diff --git a/src/assets/ui/lobbyui/votemenu/votemenu.tscn b/src/assets/ui/lobbyui/voteui/voteui.tscn similarity index 91% rename from src/assets/ui/lobbyui/votemenu/votemenu.tscn rename to src/assets/ui/lobbyui/voteui/voteui.tscn index c80550ac..dcb013cf 100644 --- a/src/assets/ui/lobbyui/votemenu/votemenu.tscn +++ b/src/assets/ui/lobbyui/voteui/voteui.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=2] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=1] -[ext_resource path="res://assets/ui/lobbyui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/ui/lobbyui/votemenu/votemenu.gd" type="Script" id=3] -[ext_resource path="res://assets/ui/lobbyui/votemenu/votebuttongrid/VoteButtonGrid.tscn" type="PackedScene" id=4] +[ext_resource path="res://assets/ui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=2] +[ext_resource path="res://assets/ui/lobbyui/voteui/voteui.gd" type="Script" id=3] +[ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn" type="PackedScene" id=4] [node name="votemenu" type="WindowDialog"] anchor_left = 0.05 From b1bb846d9d5f2e176013c6f054f1a99dcd6c194f Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 21:06:14 -0500 Subject: [PATCH 17/22] Chatbox actually syncs now --- src/assets/autoload/uimanager.gd | 1 + .../elements/chatboxbase/chatboxbase.gd | 26 ++++++++++++------- src/assets/ui/lobbyui/chatbox/chatbox.gd | 1 + src/assets/ui/lobbyui/chatbox/chatbox.tscn | 1 - .../voteui/votebuttongrid/votebuttongrid.gd | 17 ++++++++---- src/assets/ui/lobbyui/voteui/voteui.gd | 14 ++++++++-- 6 files changed, 43 insertions(+), 17 deletions(-) diff --git a/src/assets/autoload/uimanager.gd b/src/assets/autoload/uimanager.gd index c77b5f72..63cc1dab 100644 --- a/src/assets/autoload/uimanager.gd +++ b/src/assets/autoload/uimanager.gd @@ -13,6 +13,7 @@ var ui_list: Dictionary = { #common UI "pausemenu": {"scene": preload("res://assets/ui/pausemenu/pausemenu.tscn")}, "chatbox": {"scene": preload("res://assets/ui/lobbyui/chatbox/chatbox.tscn")}, + "voteui": {"scene": preload("res://assets/ui/lobbyui/voteui/voteui.tscn")}, "keybind": {"scene": preload("res://assets/ui/submenus/settings/keybind/keybind.tscn")}, "appearance_editor": {"scene": preload("res://assets/ui/submenus/appearance_editor/appearance_editor.tscn")}, diff --git a/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd b/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd index cec72389..5c25a6a3 100644 --- a/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd +++ b/src/assets/ui/common/elements/chatboxbase/chatboxbase.gd @@ -14,11 +14,17 @@ var receivedSide: String = "left" #side of chatbox received messages are on func _ready(): set_network_master(1) +# warning-ignore:return_value_discarded PlayerManager.connect("message_received", self, "receiveMessage") +# warning-ignore:return_value_discarded PlayerManager.connect("message_received_server", self, "receiveMessageServer") +# warning-ignore:return_value_discarded PlayerManager.connect("bulk_messages_received", self, "receiveBulkMessages") showBulkMessages(PlayerManager.chatbox_cache) +func update() -> void: + showBulkMessages(PlayerManager.chatbox_cache) + func sendMessage(content, color: String = defaultColor): if isEmpty(content) or hasLineBreaks(content): return @@ -49,9 +55,7 @@ func receiveMessageServer(sender: int, content: String, color: String): # return if isEmpty(content): return - var usedContent = content - if hasLineBreaks(usedContent): - usedContent = removeLineBreaks(usedContent) + var usedContent = processContent(content) PlayerManager.send_message_server(sender, usedContent, color) #rpc("receiveMessage", sender, usedContent, color) showMessage(sender, content, color) @@ -61,17 +65,14 @@ func receiveMessage(sender: int, content: String, color: String): #add checks here to make sure it's valid (correct color-sender combo, etc.) if sender == Network.get_my_id(): return - if isEmpty(content): - return - var usedContent = content - if hasLineBreaks(usedContent): - usedContent = removeLineBreaks(usedContent) PlayerManager.chatbox_cache.append({"sender": sender, "content": content, "color": color}) showMessage(sender, content, color) func showMessage(sender, content, color): - if content == "": + if isEmpty(content): return + content = processContent(content) + if not Network.get_peers().has(sender): return chatbox.pop() @@ -105,6 +106,11 @@ func restrictText(): else: currentText = newText +func processContent(content) -> String: + var usedContent: String = content + usedContent = removeLineBreaks(usedContent) + return content + func removeLineBreaks(content: String) -> String: var newContent = content for i in breakChars: @@ -113,6 +119,8 @@ func removeLineBreaks(content: String) -> String: #tests if the string is full of empty chars, like tabs and spaces func isEmpty(inputStr): + if inputStr == "": + return true var emptyCount = 0 for i in emptyChars: emptyCount += inputStr.count(i) diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.gd b/src/assets/ui/lobbyui/chatbox/chatbox.gd index 507f781d..93270631 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.gd +++ b/src/assets/ui/lobbyui/chatbox/chatbox.gd @@ -1,4 +1,5 @@ extends WindowDialogBase func open(): + $chatboxbase.update() $chatboxbase.focus_textbox() diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.tscn b/src/assets/ui/lobbyui/chatbox/chatbox.tscn index c7123774..5501dac2 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.tscn +++ b/src/assets/ui/lobbyui/chatbox/chatbox.tscn @@ -4,7 +4,6 @@ [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=2] [ext_resource path="res://assets/ui/common/elements/chatboxbase/chatboxbase.tscn" type="PackedScene" id=3] - [node name="chatbox" type="WindowDialog"] anchor_left = 0.3 anchor_top = 0.2 diff --git a/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd index 922da9a3..8f3eb631 100644 --- a/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd +++ b/src/assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd @@ -3,7 +3,7 @@ extends ScrollContainer #export(NodePath) var master_node_path #onready var master_node = get_node(master_node_path) -onready var button_scene: PackedScene = load("res://assets/ui/lobbyui/votemenu/votebuttongrid/votebutton/votebutton.tscn") +onready var button_scene: PackedScene = load("res://assets/ui/lobbyui/voteui/votebuttongrid/votebutton/votebutton.tscn") onready var grid = get_node("GridContainer") var able_to_select: bool = true @@ -14,10 +14,17 @@ var buttons: Dictionary signal vote(player_id) func _ready(): - for i in 10: - create_vote_button(i, str(i)) + pass +# for i in 10: +# create_vote_button(i, str(i)) + +func reset(): + able_to_select = true + selected = null func create_vote_buttons(player_ids: Array): + for button in buttons.values(): + button.queue_free() for player in player_ids: create_vote_button(player, Network.get_player_name(player)) @@ -42,8 +49,8 @@ func vote_for(player_id): func vote_button_pressed(button: Node): if not able_to_select: return - if selected == button: - return +# if selected == button: +# return if selected != null: selected.set_selected(false) button.set_selected(true) diff --git a/src/assets/ui/lobbyui/voteui/voteui.gd b/src/assets/ui/lobbyui/voteui/voteui.gd index f9ed051f..a6762d32 100644 --- a/src/assets/ui/lobbyui/voteui/voteui.gd +++ b/src/assets/ui/lobbyui/voteui/voteui.gd @@ -1,16 +1,26 @@ extends WindowDialogBase onready var button_grid: Node = get_node("TabContainer/Vote/VoteControl/VBoxContainer/VoteButtonGrid") +onready var chatbox: Node = get_node("TabContainer/Chat/chatboxbase") var my_id: int = Network.get_my_id() # format: {voter network ID: voted for network ID} var votes: Dictionary = {} func _ready(): - show() # hides x so players can't close the menu - get_close_button().hide() + #get_close_button().hide() button_grid.connect("vote", self, "vote_for") + create_vote_buttons() + +func open(): + chatbox.update() + reset() + +func reset(): + votes = {} + button_grid.reset() + create_vote_buttons() func create_vote_buttons(): button_grid.create_vote_buttons(Network.get_peers()) From 186fa65e9d029a9435c7af241d0adbebc73496d1 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 21:12:11 -0500 Subject: [PATCH 18/22] Misc work on voteui --- .../voteui/votebuttongrid/VoteButtonGrid.tscn | 1 - src/assets/ui/lobbyui/voteui/voteui.gd | 19 ++++++++++++------- src/assets/ui/lobbyui/voteui/voteui.tscn | 3 +-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn b/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn index 55087ac3..641c8f34 100644 --- a/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn +++ b/src/assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn @@ -2,7 +2,6 @@ [ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/votebuttongrid.gd" type="Script" id=1] - [node name="VoteButtonGrid" type="ScrollContainer"] anchor_right = 1.0 anchor_bottom = 1.0 diff --git a/src/assets/ui/lobbyui/voteui/voteui.gd b/src/assets/ui/lobbyui/voteui/voteui.gd index a6762d32..115edb98 100644 --- a/src/assets/ui/lobbyui/voteui/voteui.gd +++ b/src/assets/ui/lobbyui/voteui/voteui.gd @@ -10,6 +10,7 @@ var votes: Dictionary = {} func _ready(): # hides x so players can't close the menu #get_close_button().hide() +# warning-ignore:return_value_discarded button_grid.connect("vote", self, "vote_for") create_vote_buttons() @@ -22,24 +23,28 @@ func reset(): button_grid.reset() create_vote_buttons() -func create_vote_buttons(): - button_grid.create_vote_buttons(Network.get_peers()) +func check_all_players_voted() -> bool: + for player in Network.get_peers(): + if not votes.has(player): + return false + return true func vote_for(vote_for: int): print("voting for ", vote_for, ", my id: ", my_id) - if not get_tree().is_network_server(): - rpc_id(1, "recieve_vote_server", vote_for, my_id) - else: - recieve_vote_server(vote_for, my_id) + rpc_id(1, "recieve_vote_server", vote_for, my_id) -remote func recieve_vote_server(vote_for: int, vote_from: int): +remotesync func recieve_vote_server(vote_for: int, vote_from: int): if not get_tree().is_network_server(): return if get_tree().get_rpc_sender_id() != vote_from: return print("server recieving vote for ", vote_for, " from ", vote_from) rpc("recieve_vote", vote_for, vote_from) + print(check_all_players_voted()) puppetsync func recieve_vote(vote_for: int, vote_from: int): print("recieving vote for ", vote_for, " from ", vote_from) votes[vote_from] = vote_for + +func create_vote_buttons(): + button_grid.create_vote_buttons(Network.get_peers()) diff --git a/src/assets/ui/lobbyui/voteui/voteui.tscn b/src/assets/ui/lobbyui/voteui/voteui.tscn index dcb013cf..e678a66b 100644 --- a/src/assets/ui/lobbyui/voteui/voteui.tscn +++ b/src/assets/ui/lobbyui/voteui/voteui.tscn @@ -5,7 +5,7 @@ [ext_resource path="res://assets/ui/lobbyui/voteui/voteui.gd" type="Script" id=3] [ext_resource path="res://assets/ui/lobbyui/voteui/votebuttongrid/VoteButtonGrid.tscn" type="PackedScene" id=4] -[node name="votemenu" type="WindowDialog"] +[node name="voteui" type="WindowDialog"] anchor_left = 0.05 anchor_top = 0.09 anchor_right = 0.95 @@ -122,4 +122,3 @@ margin_right = 894.0 margin_bottom = 443.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"] From cf02999e361408443133ced7151db538e7513199 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Mon, 7 Dec 2020 21:23:57 -0500 Subject: [PATCH 19/22] Misc merge, I don't know how to prevent this --- src/assets/ui/mainmenu/mainmenu.tscn | 1215 +++++++++++++++++++++++++- 1 file changed, 1214 insertions(+), 1 deletion(-) diff --git a/src/assets/ui/mainmenu/mainmenu.tscn b/src/assets/ui/mainmenu/mainmenu.tscn index 3710a719..5f0eb350 100644 --- a/src/assets/ui/mainmenu/mainmenu.tscn +++ b/src/assets/ui/mainmenu/mainmenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=124 format=2] [ext_resource path="res://assets/ui/mainmenu/mainmenu.gd" type="Script" id=1] [ext_resource path="res://assets/ui/submenus/settings/keybind/keybind.tscn" type="PackedScene" id=2] @@ -8,6 +8,1217 @@ [ext_resource path="res://assets/common/fonts/menufont.tres" type="DynamicFont" id=6] [ext_resource path="res://assets/common/themes/iso_dark.theme" type="Theme" id=7] [ext_resource path="res://assets/ui/submenus/appearance_editor/appearance_editor.tscn" type="PackedScene" id=8] +[ext_resource path="res://assets/common/themes/pngs/tree-arrow-collapse.png" type="Texture" id=9] +[ext_resource path="res://assets/common/themes/pngs/vslider_grabber.png" type="Texture" id=10] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-panel.png" type="Texture" id=11] +[ext_resource path="res://assets/common/themes/pngs/tree-checked.png" type="Texture" id=12] +[ext_resource path="res://assets/common/themes/pngs/vslider_slider.png" type="Texture" id=13] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-close-hilite.png" type="Texture" id=14] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-grabber-hilite.png" type="Texture" id=15] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-grabber.png" type="Texture" id=16] +[ext_resource path="res://assets/common/themes/pngs/windowdialog-close.png" type="Texture" id=17] +[ext_resource path="res://assets/common/themes/pngs/tree-unchecked.png" type="Texture" id=18] +[ext_resource path="res://assets/common/themes/pngs/tree-arrow.png" type="Texture" id=19] +[ext_resource path="res://assets/common/themes/pngs/vscrollbar-scroll.png" type="Texture" id=20] +[ext_resource path="res://assets/common/themes/pngs/vslider_grabber_hilite.png" type="Texture" id=21] +[ext_resource path="res://assets/common/themes/pngs/menubutton_normal.png" type="Texture" id=22] +[ext_resource path="res://assets/common/themes/pngs/checkbutton-on.png" type="Texture" id=23] +[ext_resource path="res://assets/common/themes/pngs/lineedit-focus.png" type="Texture" id=24] +[ext_resource path="res://assets/common/themes/pngs/lineedit-readonly.png" type="Texture" id=25] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-grabber-hilite.png" type="Texture" id=26] +[ext_resource path="res://assets/common/themes/pngs/menubutton_hover.png" type="Texture" id=27] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-bg.png" type="Texture" id=28] +[ext_resource path="res://assets/common/themes/pngs/checkbutton-off.png" type="Texture" id=29] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-fg.png" type="Texture" id=30] +[ext_resource path="res://assets/common/themes/pngs/textedit-focus.png" type="Texture" id=31] +[ext_resource path="res://assets/common/themes/pngs/button_focus.png" type="Texture" id=32] +[ext_resource path="res://assets/common/themes/pngs/menubutton_pressed.png" type="Texture" id=33] +[ext_resource path="res://assets/common/themes/pngs/panel.png" type="Texture" id=34] +[ext_resource path="res://assets/common/themes/pngs/textedit-normal.png" type="Texture" id=35] +[ext_resource path="res://assets/common/themes/pngs/button_hover.png" type="Texture" id=36] +[ext_resource path="res://assets/common/themes/pngs/menubutton_focus.png" type="Texture" id=37] +[ext_resource path="res://assets/common/themes/pngs/textedit-completion.png" type="Texture" id=38] +[ext_resource path="res://assets/common/themes/pngs/menubutton_disabled.png" type="Texture" id=39] +[ext_resource path="res://assets/common/themes/pngs/button_disabled.png" type="Texture" id=40] +[ext_resource path="res://assets/common/themes/pngs/hslider_slider.png" type="Texture" id=41] +[ext_resource path="res://assets/common/themes/pngs/panelf.png" type="Texture" id=42] +[ext_resource path="res://assets/common/themes/pngs/button_normal.png" type="Texture" id=43] +[ext_resource path="res://assets/common/themes/pngs/lineedit-normal.png" type="Texture" id=44] +[ext_resource path="res://assets/common/themes/pngs/hslider_grabber.png" type="Texture" id=45] +[ext_resource path="res://assets/common/themes/pngs/hslider_grabber_hilite.png" type="Texture" id=46] +[ext_resource path="res://assets/common/themes/pngs/menubutton_arrow.png" type="Texture" id=47] +[ext_resource path="res://assets/common/themes/pngs/popuppanel.png" type="Texture" id=48] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-increment-hilite.png" type="Texture" id=49] +[ext_resource path="res://assets/common/themes/pngs/progressbar-fg.png" type="Texture" id=50] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-grabber.png" type="Texture" id=51] +[ext_resource path="res://assets/common/themes/pngs/tabcontainer-decrement-hilite.png" type="Texture" id=52] +[ext_resource path="res://assets/common/themes/pngs/progressbar-bg.png" type="Texture" id=53] +[ext_resource path="res://assets/common/themes/pngs/hscrollbar-scroll.png" type="Texture" id=54] +[ext_resource path="res://assets/common/themes/pngs/button_pressed.png" type="Texture" id=55] + +[sub_resource type="StyleBoxTexture" id=1] +texture = ExtResource( 40 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=2] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=3] +texture = ExtResource( 36 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=4] +texture = ExtResource( 43 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=5] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=6] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=7] +texture = ExtResource( 40 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=8] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=9] +texture = ExtResource( 36 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=10] +texture = ExtResource( 43 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 7.0 +margin_right = 7.0 +margin_top = 7.0 +margin_bottom = 7.0 + +[sub_resource type="StyleBoxTexture" id=11] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=12] +texture = ExtResource( 51 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=13] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=14] +texture = ExtResource( 54 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=15] +texture = ExtResource( 54 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=16] +texture = ExtResource( 26 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=17] +texture = ExtResource( 41 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=18] +texture = ExtResource( 24 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=19] +texture = ExtResource( 44 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=20] +texture = ExtResource( 25 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=21] +texture = ExtResource( 39 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=22] +texture = ExtResource( 37 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=23] +texture = ExtResource( 27 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=24] +texture = ExtResource( 22 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=25] +texture = ExtResource( 33 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 + +[sub_resource type="StyleBoxTexture" id=26] +texture = ExtResource( 39 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=27] +texture = ExtResource( 37 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=28] +texture = ExtResource( 27 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=29] +texture = ExtResource( 22 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=30] +texture = ExtResource( 33 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 4.0 +margin_right = 20.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=31] +texture = ExtResource( 34 ) +region_rect = Rect2( 0, 0, 8, 8 ) + +[sub_resource type="StyleBoxTexture" id=32] +texture = ExtResource( 42 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=33] +texture = ExtResource( 48 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 8.0 +margin_right = 8.0 +margin_top = 8.0 +margin_bottom = 8.0 + +[sub_resource type="StyleBoxTexture" id=34] +texture = ExtResource( 42 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 + +[sub_resource type="StyleBoxTexture" id=35] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=36] +texture = ExtResource( 48 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 3.0 +expand_margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=37] +texture = ExtResource( 48 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 3.0 +expand_margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=38] +texture = ExtResource( 53 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 10.0 +margin_right = 10.0 + +[sub_resource type="StyleBoxTexture" id=39] +texture = ExtResource( 50 ) +region_rect = Rect2( 0, 0, 32, 16 ) +margin_left = 7.0 +margin_right = 7.0 + +[sub_resource type="StyleBoxTexture" id=40] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=41] +texture = ExtResource( 42 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 19.0 +margin_bottom = 7.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=42] +texture = ExtResource( 28 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=43] +texture = ExtResource( 30 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=44] +texture = ExtResource( 38 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=45] +texture = ExtResource( 31 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=46] +texture = ExtResource( 35 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 12.0 +margin_right = 12.0 +margin_top = 12.0 +margin_bottom = 12.0 + +[sub_resource type="StyleBoxEmpty" id=47] + +[sub_resource type="StyleBoxTexture" id=48] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=49] +texture = ExtResource( 43 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxEmpty" id=50] + +[sub_resource type="StyleBoxTexture" id=51] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=52] +texture = ExtResource( 42 ) +region_rect = Rect2( 0, 0, 16, 32 ) +margin_left = 9.0 +margin_right = 9.0 +margin_top = 9.0 +margin_bottom = 9.0 +expand_margin_left = 4.0 +expand_margin_right = 4.0 +expand_margin_top = 4.0 +expand_margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=53] +texture = ExtResource( 35 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=54] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=55] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 6.0 +margin_bottom = 6.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=56] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=57] +texture = ExtResource( 32 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxTexture" id=58] +texture = ExtResource( 36 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=59] +texture = ExtResource( 36 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=60] +texture = ExtResource( 55 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 4.0 +margin_right = 4.0 +margin_top = 4.0 +margin_bottom = 4.0 + +[sub_resource type="StyleBoxTexture" id=61] +texture = ExtResource( 16 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=62] +texture = ExtResource( 15 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=63] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=64] +texture = ExtResource( 20 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 3.0 +margin_right = 3.0 +margin_top = 3.0 +margin_bottom = 3.0 + +[sub_resource type="StyleBoxTexture" id=65] +texture = ExtResource( 13 ) +region_rect = Rect2( 0, 0, 16, 16 ) +margin_left = 5.0 +margin_right = 5.0 +margin_top = 5.0 +margin_bottom = 5.0 + +[sub_resource type="StyleBoxTexture" id=66] +texture = ExtResource( 11 ) +region_rect = Rect2( 0, 0, 16, 64 ) +margin_left = 6.0 +margin_right = 6.0 +margin_top = 28.0 +margin_bottom = 7.0 +expand_margin_left = 3.0 +expand_margin_right = 3.0 +expand_margin_top = 26.0 +expand_margin_bottom = 3.0 + +[sub_resource type="Theme" id=67] +resource_local_to_scene = true +Button/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +Button/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +Button/constants/hseparation = 2 +Button/fonts/font = null +Button/styles/disabled = SubResource( 1 ) +Button/styles/focus = SubResource( 2 ) +Button/styles/hover = SubResource( 3 ) +Button/styles/normal = SubResource( 4 ) +Button/styles/pressed = SubResource( 5 ) +CheckButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +CheckButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +CheckButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +CheckButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +CheckButton/constants/check_vadjust = 0 +CheckButton/constants/hseparation = 4 +CheckButton/fonts/font = null +CheckButton/icons/off = ExtResource( 29 ) +CheckButton/icons/on = ExtResource( 23 ) +CheckButton/styles/disabled = null +CheckButton/styles/focus = SubResource( 6 ) +CheckButton/styles/hover = null +CheckButton/styles/normal = null +CheckButton/styles/pressed = null +ColorPicker/constants/h_width = 30 +ColorPicker/constants/label_width = 10 +ColorPicker/constants/margin = 4 +ColorPicker/constants/sv_height = 256 +ColorPicker/constants/sv_width = 256 +ColorPicker/icons/add_preset = null +ColorPicker/icons/color_hue = null +ColorPicker/icons/color_sample = null +ColorPicker/icons/preset_bg = null +ColorPicker/icons/screen_picker = null +ColorPickerButton/colors/font_color = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.3 ) +ColorPickerButton/colors/font_color_hover = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_pressed = Color( 0.8, 0.8, 0.8, 1 ) +ColorPickerButton/constants/hseparation = 2 +ColorPickerButton/fonts/font = null +ColorPickerButton/icons/bg = null +ColorPickerButton/styles/disabled = SubResource( 7 ) +ColorPickerButton/styles/focus = SubResource( 8 ) +ColorPickerButton/styles/hover = SubResource( 9 ) +ColorPickerButton/styles/normal = SubResource( 10 ) +ColorPickerButton/styles/pressed = SubResource( 11 ) +Dialogs/constants/button_margin = 32 +Dialogs/constants/margin = 10 +FileDialog/colors/files_disabled = Color( 0, 0, 0, 0.7 ) +FileDialog/icons/folder = null +FileDialog/icons/parent_folder = null +FileDialog/icons/reload = null +GridContainer/constants/hseparation = 4 +GridContainer/constants/vseparation = 4 +HBoxContainer/constants/separation = 4 +HScrollBar/icons/decrement = null +HScrollBar/icons/decrement_highlight = null +HScrollBar/icons/increment = null +HScrollBar/icons/increment_highlight = null +HScrollBar/styles/grabber = SubResource( 12 ) +HScrollBar/styles/grabber_highlight = SubResource( 13 ) +HScrollBar/styles/grabber_pressed = null +HScrollBar/styles/scroll = SubResource( 14 ) +HScrollBar/styles/scroll_focus = SubResource( 15 ) +HSeparator/constants/separation = 7 +HSeparator/styles/separator = null +HSlider/icons/grabber = ExtResource( 45 ) +HSlider/icons/grabber_disabled = null +HSlider/icons/grabber_highlight = ExtResource( 46 ) +HSlider/icons/tick = null +HSlider/styles/focus = SubResource( 16 ) +HSlider/styles/grabber_area = null +HSlider/styles/grabber_disabled = null +HSlider/styles/grabber_highlight = null +HSlider/styles/slider = SubResource( 17 ) +HSplitContainer/constants/autohide = 1 +HSplitContainer/constants/separation = 8 +HSplitContainer/icons/grabber = null +HSplitContainer/styles/bg = null +LineEdit/colors/cursor_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +LineEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +LineEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +LineEdit/constants/minimum_spaces = 8 +LineEdit/fonts/font = null +LineEdit/styles/focus = SubResource( 18 ) +LineEdit/styles/normal = SubResource( 19 ) +LineEdit/styles/read_only = SubResource( 20 ) +MarginContainer/constants/margin_bottom = 15 +MarginContainer/constants/margin_left = 15 +MarginContainer/constants/margin_right = 15 +MarginContainer/constants/margin_top = 15 +MenuButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +MenuButton/colors/font_color_disabled = Color( 1, 1, 1, 0.3 ) +MenuButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +MenuButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +MenuButton/constants/hseparation = 2 +MenuButton/fonts/font = null +MenuButton/styles/disabled = SubResource( 21 ) +MenuButton/styles/focus = SubResource( 22 ) +MenuButton/styles/hover = SubResource( 23 ) +MenuButton/styles/normal = SubResource( 24 ) +MenuButton/styles/pressed = SubResource( 25 ) +OptionButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +OptionButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +OptionButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +OptionButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +OptionButton/constants/arrow_margin = 1 +OptionButton/constants/hseparation = 2 +OptionButton/fonts/font = null +OptionButton/icons/arrow = ExtResource( 47 ) +OptionButton/styles/disabled = SubResource( 26 ) +OptionButton/styles/focus = SubResource( 27 ) +OptionButton/styles/hover = SubResource( 28 ) +OptionButton/styles/normal = SubResource( 29 ) +OptionButton/styles/pressed = SubResource( 30 ) +Panel/styles/panel = SubResource( 31 ) +Panel/styles/panelf = SubResource( 32 ) +Panel/styles/panelnc = SubResource( 33 ) +PanelContainer/styles/panel = SubResource( 34 ) +PopupMenu/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/colors/font_color_accel = Color( 0.7, 0.7, 0.7, 0.8 ) +PopupMenu/colors/font_color_disabled = Color( 0.4, 0.4, 0.4, 0.8 ) +PopupMenu/colors/font_color_hover = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/constants/hseparation = 2 +PopupMenu/constants/vseparation = 1 +PopupMenu/fonts/font = null +PopupMenu/icons/checked = null +PopupMenu/icons/radio_checked = null +PopupMenu/icons/radio_unchecked = null +PopupMenu/icons/submenu = ExtResource( 49 ) +PopupMenu/icons/unchecked = null +PopupMenu/styles/hover = SubResource( 35 ) +PopupMenu/styles/panel = SubResource( 36 ) +PopupMenu/styles/panel_disabled = null +PopupMenu/styles/separator = null +PopupPanel/styles/panel = SubResource( 37 ) +ProgressBar/colors/font_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +ProgressBar/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +ProgressBar/fonts/font = null +ProgressBar/styles/bg = SubResource( 38 ) +ProgressBar/styles/fg = SubResource( 39 ) +RichTextLabel/colors/default_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +RichTextLabel/colors/font_color_selected = Color( 0.490196, 0.490196, 0.490196, 1 ) +RichTextLabel/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +RichTextLabel/constants/line_separation = 1 +RichTextLabel/constants/table_hseparation = 3 +RichTextLabel/constants/table_vseparation = 3 +RichTextLabel/fonts/bold_font = null +RichTextLabel/fonts/bold_italics_font = null +RichTextLabel/fonts/italics_font = null +RichTextLabel/fonts/mono_font = null +RichTextLabel/fonts/normal_font = null +RichTextLabel/styles/focus = SubResource( 40 ) +RichTextLabel/styles/normal = null +TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) +TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +TabContainer/colors/font_color_fg = Color( 0.941176, 0.941176, 0.941176, 1 ) +TabContainer/constants/hseparation = 2 +TabContainer/constants/label_valign_bg = 5 +TabContainer/constants/label_valign_fg = 4 +TabContainer/constants/side_margin = 5 +TabContainer/constants/top_margin = 5 +TabContainer/fonts/font = null +TabContainer/icons/decrement = null +TabContainer/icons/decrement_highlight = ExtResource( 52 ) +TabContainer/icons/increment = null +TabContainer/icons/increment_highlight = ExtResource( 49 ) +TabContainer/icons/menu = null +TabContainer/icons/menu_highlight = null +TabContainer/styles/panel = SubResource( 41 ) +TabContainer/styles/tab_bg = SubResource( 42 ) +TabContainer/styles/tab_fg = SubResource( 43 ) +TextEdit/colors/background_color = Color( 0, 0, 0, 0 ) +TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 ) +TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 ) +TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/caret_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 ) +TextEdit/colors/completion_background_color = Color( 0.172549, 0.164706, 0.196078, 1 ) +TextEdit/colors/completion_existing_color = Color( 0.87451, 0.87451, 0.87451, 0.129412 ) +TextEdit/colors/completion_font_color = Color( 0.666667, 0.666667, 0.666667, 1 ) +TextEdit/colors/completion_scroll_color = Color( 1, 1, 1, 1 ) +TextEdit/colors/completion_selected_color = Color( 0.262745, 0.258824, 0.266667, 1 ) +TextEdit/colors/current_line_color = Color( 0.25, 0.25, 0.26, 0.8 ) +TextEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +TextEdit/colors/function_color = Color( 0.4, 0.635294, 0.807843, 1 ) +TextEdit/colors/line_number_color = Color( 0.666667, 0.666667, 0.666667, 0.4 ) +TextEdit/colors/mark_color = Color( 1, 0.4, 0.4, 0.4 ) +TextEdit/colors/member_variable_color = Color( 0.901961, 0.305882, 0.34902, 1 ) +TextEdit/colors/number_color = Color( 0.921569, 0.584314, 0.196078, 1 ) +TextEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +TextEdit/colors/symbol_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +TextEdit/colors/word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 ) +TextEdit/constants/completion_lines = 7 +TextEdit/constants/completion_max_width = 50 +TextEdit/constants/completion_scroll_width = 3 +TextEdit/constants/line_spacing = 1 +TextEdit/fonts/font = null +TextEdit/icons/tab = null +TextEdit/styles/completion = SubResource( 44 ) +TextEdit/styles/focus = SubResource( 45 ) +TextEdit/styles/normal = SubResource( 46 ) +TextEdit/styles/read_only = null +ToolButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +ToolButton/colors/font_color_disabled = Color( 0.9, 0.95, 1, 0.3 ) +ToolButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +ToolButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +ToolButton/constants/hseparation = 2 +ToolButton/fonts/font = null +ToolButton/styles/disabled = SubResource( 47 ) +ToolButton/styles/focus = SubResource( 48 ) +ToolButton/styles/hover = SubResource( 49 ) +ToolButton/styles/normal = SubResource( 50 ) +ToolButton/styles/pressed = SubResource( 51 ) +TooltipLabel/colors/font_color = Color( 1, 1, 1, 1 ) +TooltipLabel/colors/font_color_shadow = Color( 0, 0, 0, 0.1 ) +TooltipLabel/constants/shadow_offset_x = 1 +TooltipLabel/constants/shadow_offset_y = 1 +TooltipLabel/fonts/font = null +TooltipPanel/styles/panel = SubResource( 52 ) +Tree/colors/cursor_color = Color( 0, 0, 0, 1 ) +Tree/colors/custom_button_font_highlight = Color( 0.941176, 0.941176, 0.941176, 1 ) +Tree/colors/drop_position_color = Color( 1, 0.3, 0.2, 1 ) +Tree/colors/font_color = Color( 0.690196, 0.690196, 0.690196, 1 ) +Tree/colors/font_color_selected = Color( 1, 1, 1, 1 ) +Tree/colors/guide_color = Color( 0, 0, 0, 0.1 ) +Tree/colors/relationship_line_color = Color( 0.27451, 0.27451, 0.27451, 1 ) +Tree/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +Tree/colors/title_button_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Tree/constants/button_margin = 3 +Tree/constants/draw_relationship_lines = 0 +Tree/constants/guide_width = 1 +Tree/constants/hseparation = 2 +Tree/constants/item_margin = 12 +Tree/constants/scroll_border = 4 +Tree/constants/scroll_speed = 12 +Tree/constants/vseparation = 1 +Tree/fonts/font = null +Tree/fonts/title_button_font = null +Tree/icons/arrow = ExtResource( 19 ) +Tree/icons/arrow_collapsed = ExtResource( 9 ) +Tree/icons/checked = ExtResource( 12 ) +Tree/icons/select_arrow = null +Tree/icons/unchecked = ExtResource( 18 ) +Tree/icons/updown = null +Tree/styles/bg = SubResource( 53 ) +Tree/styles/bg_focus = null +Tree/styles/button_pressed = SubResource( 54 ) +Tree/styles/cursor = SubResource( 55 ) +Tree/styles/cursor_unfocused = null +Tree/styles/custom_button = null +Tree/styles/custom_button_hover = null +Tree/styles/custom_button_pressed = null +Tree/styles/selected = SubResource( 56 ) +Tree/styles/selected_focus = SubResource( 57 ) +Tree/styles/title_button_hover = SubResource( 58 ) +Tree/styles/title_button_normal = SubResource( 59 ) +Tree/styles/title_button_pressed = SubResource( 60 ) +VBoxContainer/constants/separation = 4 +VScrollBar/icons/decrement = null +VScrollBar/icons/decrement_highlight = null +VScrollBar/icons/increment = null +VScrollBar/icons/increment_highlight = null +VScrollBar/styles/grabber = SubResource( 61 ) +VScrollBar/styles/grabber_highlight = SubResource( 62 ) +VScrollBar/styles/grabber_pressed = null +VScrollBar/styles/scroll = SubResource( 63 ) +VScrollBar/styles/scroll_focus = SubResource( 64 ) +VSeparator/constants/separation = 7 +VSeparator/styles/separator = null +VSlider/icons/grabber = ExtResource( 10 ) +VSlider/icons/grabber_disabled = null +VSlider/icons/grabber_highlight = ExtResource( 21 ) +VSlider/icons/tick = null +VSlider/styles/focus = null +VSlider/styles/grabber_area = null +VSlider/styles/grabber_disabled = null +VSlider/styles/grabber_highlight = null +VSlider/styles/slider = SubResource( 65 ) +VSplitContainer/constants/autohide = 1 +VSplitContainer/constants/separation = 8 +VSplitContainer/icons/grabber = null +VSplitContainer/styles/bg = null +WindowDialog/colors/title_color = Color( 1, 1, 1, 1 ) +WindowDialog/constants/close_h_ofs = 22 +WindowDialog/constants/close_v_ofs = 20 +WindowDialog/constants/scaleborder_size = 4 +WindowDialog/constants/title_height = 20 +WindowDialog/fonts/title_font = null +WindowDialog/icons/close = ExtResource( 17 ) +WindowDialog/icons/close_highlight = ExtResource( 14 ) +WindowDialog/styles/panel = SubResource( 66 ) + +[sub_resource type="Theme" id=68] +resource_local_to_scene = true +Button/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +Button/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +Button/constants/hseparation = 2 +Button/fonts/font = null +Button/styles/disabled = SubResource( 1 ) +Button/styles/focus = SubResource( 2 ) +Button/styles/hover = SubResource( 3 ) +Button/styles/normal = SubResource( 4 ) +Button/styles/pressed = SubResource( 5 ) +CheckButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +CheckButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +CheckButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +CheckButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +CheckButton/constants/check_vadjust = 0 +CheckButton/constants/hseparation = 4 +CheckButton/fonts/font = null +CheckButton/icons/off = ExtResource( 29 ) +CheckButton/icons/on = ExtResource( 23 ) +CheckButton/styles/disabled = null +CheckButton/styles/focus = SubResource( 6 ) +CheckButton/styles/hover = null +CheckButton/styles/normal = null +CheckButton/styles/pressed = null +ColorPicker/constants/h_width = 30 +ColorPicker/constants/label_width = 10 +ColorPicker/constants/margin = 4 +ColorPicker/constants/sv_height = 256 +ColorPicker/constants/sv_width = 256 +ColorPicker/icons/add_preset = null +ColorPicker/icons/color_hue = null +ColorPicker/icons/color_sample = null +ColorPicker/icons/preset_bg = null +ColorPicker/icons/screen_picker = null +ColorPickerButton/colors/font_color = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.3 ) +ColorPickerButton/colors/font_color_hover = Color( 1, 1, 1, 1 ) +ColorPickerButton/colors/font_color_pressed = Color( 0.8, 0.8, 0.8, 1 ) +ColorPickerButton/constants/hseparation = 2 +ColorPickerButton/fonts/font = null +ColorPickerButton/icons/bg = null +ColorPickerButton/styles/disabled = SubResource( 7 ) +ColorPickerButton/styles/focus = SubResource( 8 ) +ColorPickerButton/styles/hover = SubResource( 9 ) +ColorPickerButton/styles/normal = SubResource( 10 ) +ColorPickerButton/styles/pressed = SubResource( 11 ) +Dialogs/constants/button_margin = 32 +Dialogs/constants/margin = 10 +FileDialog/colors/files_disabled = Color( 0, 0, 0, 0.7 ) +FileDialog/icons/folder = null +FileDialog/icons/parent_folder = null +FileDialog/icons/reload = null +GridContainer/constants/hseparation = 4 +GridContainer/constants/vseparation = 4 +HBoxContainer/constants/separation = 4 +HScrollBar/icons/decrement = null +HScrollBar/icons/decrement_highlight = null +HScrollBar/icons/increment = null +HScrollBar/icons/increment_highlight = null +HScrollBar/styles/grabber = SubResource( 12 ) +HScrollBar/styles/grabber_highlight = SubResource( 13 ) +HScrollBar/styles/grabber_pressed = null +HScrollBar/styles/scroll = SubResource( 14 ) +HScrollBar/styles/scroll_focus = SubResource( 15 ) +HSeparator/constants/separation = 7 +HSeparator/styles/separator = null +HSlider/icons/grabber = ExtResource( 45 ) +HSlider/icons/grabber_disabled = null +HSlider/icons/grabber_highlight = ExtResource( 46 ) +HSlider/icons/tick = null +HSlider/styles/focus = SubResource( 16 ) +HSlider/styles/grabber_area = null +HSlider/styles/grabber_disabled = null +HSlider/styles/grabber_highlight = null +HSlider/styles/slider = SubResource( 17 ) +HSplitContainer/constants/autohide = 1 +HSplitContainer/constants/separation = 8 +HSplitContainer/icons/grabber = null +HSplitContainer/styles/bg = null +LineEdit/colors/cursor_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +LineEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +LineEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +LineEdit/constants/minimum_spaces = 8 +LineEdit/fonts/font = null +LineEdit/styles/focus = SubResource( 18 ) +LineEdit/styles/normal = SubResource( 19 ) +LineEdit/styles/read_only = SubResource( 20 ) +MarginContainer/constants/margin_bottom = 15 +MarginContainer/constants/margin_left = 15 +MarginContainer/constants/margin_right = 15 +MarginContainer/constants/margin_top = 15 +MenuButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +MenuButton/colors/font_color_disabled = Color( 1, 1, 1, 0.3 ) +MenuButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +MenuButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +MenuButton/constants/hseparation = 2 +MenuButton/fonts/font = null +MenuButton/styles/disabled = SubResource( 21 ) +MenuButton/styles/focus = SubResource( 22 ) +MenuButton/styles/hover = SubResource( 23 ) +MenuButton/styles/normal = SubResource( 24 ) +MenuButton/styles/pressed = SubResource( 25 ) +OptionButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +OptionButton/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +OptionButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +OptionButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +OptionButton/constants/arrow_margin = 1 +OptionButton/constants/hseparation = 2 +OptionButton/fonts/font = null +OptionButton/icons/arrow = ExtResource( 47 ) +OptionButton/styles/disabled = SubResource( 26 ) +OptionButton/styles/focus = SubResource( 27 ) +OptionButton/styles/hover = SubResource( 28 ) +OptionButton/styles/normal = SubResource( 29 ) +OptionButton/styles/pressed = SubResource( 30 ) +Panel/styles/panel = SubResource( 31 ) +Panel/styles/panelf = SubResource( 32 ) +Panel/styles/panelnc = SubResource( 33 ) +PanelContainer/styles/panel = SubResource( 34 ) +PopupMenu/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/colors/font_color_accel = Color( 0.7, 0.7, 0.7, 0.8 ) +PopupMenu/colors/font_color_disabled = Color( 0.4, 0.4, 0.4, 0.8 ) +PopupMenu/colors/font_color_hover = Color( 0.878431, 0.878431, 0.878431, 1 ) +PopupMenu/constants/hseparation = 2 +PopupMenu/constants/vseparation = 1 +PopupMenu/fonts/font = null +PopupMenu/icons/checked = null +PopupMenu/icons/radio_checked = null +PopupMenu/icons/radio_unchecked = null +PopupMenu/icons/submenu = ExtResource( 49 ) +PopupMenu/icons/unchecked = null +PopupMenu/styles/hover = SubResource( 35 ) +PopupMenu/styles/panel = SubResource( 36 ) +PopupMenu/styles/panel_disabled = null +PopupMenu/styles/separator = null +PopupPanel/styles/panel = SubResource( 37 ) +ProgressBar/colors/font_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +ProgressBar/colors/font_color_shadow = Color( 0, 0, 0, 1 ) +ProgressBar/fonts/font = null +ProgressBar/styles/bg = SubResource( 38 ) +ProgressBar/styles/fg = SubResource( 39 ) +RichTextLabel/colors/default_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +RichTextLabel/colors/font_color_selected = Color( 0.490196, 0.490196, 0.490196, 1 ) +RichTextLabel/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +RichTextLabel/constants/line_separation = 1 +RichTextLabel/constants/table_hseparation = 3 +RichTextLabel/constants/table_vseparation = 3 +RichTextLabel/fonts/bold_font = null +RichTextLabel/fonts/bold_italics_font = null +RichTextLabel/fonts/italics_font = null +RichTextLabel/fonts/mono_font = null +RichTextLabel/fonts/normal_font = null +RichTextLabel/styles/focus = SubResource( 40 ) +RichTextLabel/styles/normal = null +TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) +TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +TabContainer/colors/font_color_fg = Color( 0.941176, 0.941176, 0.941176, 1 ) +TabContainer/constants/hseparation = 2 +TabContainer/constants/label_valign_bg = 5 +TabContainer/constants/label_valign_fg = 4 +TabContainer/constants/side_margin = 5 +TabContainer/constants/top_margin = 5 +TabContainer/fonts/font = null +TabContainer/icons/decrement = null +TabContainer/icons/decrement_highlight = ExtResource( 52 ) +TabContainer/icons/increment = null +TabContainer/icons/increment_highlight = ExtResource( 49 ) +TabContainer/icons/menu = null +TabContainer/icons/menu_highlight = null +TabContainer/styles/panel = SubResource( 41 ) +TabContainer/styles/tab_bg = SubResource( 42 ) +TabContainer/styles/tab_fg = SubResource( 43 ) +TextEdit/colors/background_color = Color( 0, 0, 0, 0 ) +TextEdit/colors/brace_mismatch_color = Color( 1, 0.2, 0.2, 1 ) +TextEdit/colors/breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 ) +TextEdit/colors/caret_background_color = Color( 0, 0, 0, 1 ) +TextEdit/colors/caret_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 ) +TextEdit/colors/completion_background_color = Color( 0.172549, 0.164706, 0.196078, 1 ) +TextEdit/colors/completion_existing_color = Color( 0.87451, 0.87451, 0.87451, 0.129412 ) +TextEdit/colors/completion_font_color = Color( 0.666667, 0.666667, 0.666667, 1 ) +TextEdit/colors/completion_scroll_color = Color( 1, 1, 1, 1 ) +TextEdit/colors/completion_selected_color = Color( 0.262745, 0.258824, 0.266667, 1 ) +TextEdit/colors/current_line_color = Color( 0.25, 0.25, 0.26, 0.8 ) +TextEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +TextEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +TextEdit/colors/function_color = Color( 0.4, 0.635294, 0.807843, 1 ) +TextEdit/colors/line_number_color = Color( 0.666667, 0.666667, 0.666667, 0.4 ) +TextEdit/colors/mark_color = Color( 1, 0.4, 0.4, 0.4 ) +TextEdit/colors/member_variable_color = Color( 0.901961, 0.305882, 0.34902, 1 ) +TextEdit/colors/number_color = Color( 0.921569, 0.584314, 0.196078, 1 ) +TextEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +TextEdit/colors/symbol_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +TextEdit/colors/word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 ) +TextEdit/constants/completion_lines = 7 +TextEdit/constants/completion_max_width = 50 +TextEdit/constants/completion_scroll_width = 3 +TextEdit/constants/line_spacing = 1 +TextEdit/fonts/font = null +TextEdit/icons/tab = null +TextEdit/styles/completion = SubResource( 44 ) +TextEdit/styles/focus = SubResource( 45 ) +TextEdit/styles/normal = SubResource( 46 ) +TextEdit/styles/read_only = null +ToolButton/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +ToolButton/colors/font_color_disabled = Color( 0.9, 0.95, 1, 0.3 ) +ToolButton/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +ToolButton/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +ToolButton/constants/hseparation = 2 +ToolButton/fonts/font = null +ToolButton/styles/disabled = SubResource( 47 ) +ToolButton/styles/focus = SubResource( 48 ) +ToolButton/styles/hover = SubResource( 49 ) +ToolButton/styles/normal = SubResource( 50 ) +ToolButton/styles/pressed = SubResource( 51 ) +TooltipLabel/colors/font_color = Color( 1, 1, 1, 1 ) +TooltipLabel/colors/font_color_shadow = Color( 0, 0, 0, 0.1 ) +TooltipLabel/constants/shadow_offset_x = 1 +TooltipLabel/constants/shadow_offset_y = 1 +TooltipLabel/fonts/font = null +TooltipPanel/styles/panel = SubResource( 52 ) +Tree/colors/cursor_color = Color( 0, 0, 0, 1 ) +Tree/colors/custom_button_font_highlight = Color( 0.941176, 0.941176, 0.941176, 1 ) +Tree/colors/drop_position_color = Color( 1, 0.3, 0.2, 1 ) +Tree/colors/font_color = Color( 0.690196, 0.690196, 0.690196, 1 ) +Tree/colors/font_color_selected = Color( 1, 1, 1, 1 ) +Tree/colors/guide_color = Color( 0, 0, 0, 0.1 ) +Tree/colors/relationship_line_color = Color( 0.27451, 0.27451, 0.27451, 1 ) +Tree/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 ) +Tree/colors/title_button_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Tree/constants/button_margin = 3 +Tree/constants/draw_relationship_lines = 0 +Tree/constants/guide_width = 1 +Tree/constants/hseparation = 2 +Tree/constants/item_margin = 12 +Tree/constants/scroll_border = 4 +Tree/constants/scroll_speed = 12 +Tree/constants/vseparation = 1 +Tree/fonts/font = null +Tree/fonts/title_button_font = null +Tree/icons/arrow = ExtResource( 19 ) +Tree/icons/arrow_collapsed = ExtResource( 9 ) +Tree/icons/checked = ExtResource( 12 ) +Tree/icons/select_arrow = null +Tree/icons/unchecked = ExtResource( 18 ) +Tree/icons/updown = null +Tree/styles/bg = SubResource( 53 ) +Tree/styles/bg_focus = null +Tree/styles/button_pressed = SubResource( 54 ) +Tree/styles/cursor = SubResource( 55 ) +Tree/styles/cursor_unfocused = null +Tree/styles/custom_button = null +Tree/styles/custom_button_hover = null +Tree/styles/custom_button_pressed = null +Tree/styles/selected = SubResource( 56 ) +Tree/styles/selected_focus = SubResource( 57 ) +Tree/styles/title_button_hover = SubResource( 58 ) +Tree/styles/title_button_normal = SubResource( 59 ) +Tree/styles/title_button_pressed = SubResource( 60 ) +VBoxContainer/constants/separation = 4 +VScrollBar/icons/decrement = null +VScrollBar/icons/decrement_highlight = null +VScrollBar/icons/increment = null +VScrollBar/icons/increment_highlight = null +VScrollBar/styles/grabber = SubResource( 61 ) +VScrollBar/styles/grabber_highlight = SubResource( 62 ) +VScrollBar/styles/grabber_pressed = null +VScrollBar/styles/scroll = SubResource( 63 ) +VScrollBar/styles/scroll_focus = SubResource( 64 ) +VSeparator/constants/separation = 7 +VSeparator/styles/separator = null +VSlider/icons/grabber = ExtResource( 10 ) +VSlider/icons/grabber_disabled = null +VSlider/icons/grabber_highlight = ExtResource( 21 ) +VSlider/icons/tick = null +VSlider/styles/focus = null +VSlider/styles/grabber_area = null +VSlider/styles/grabber_disabled = null +VSlider/styles/grabber_highlight = null +VSlider/styles/slider = SubResource( 65 ) +VSplitContainer/constants/autohide = 1 +VSplitContainer/constants/separation = 8 +VSplitContainer/icons/grabber = null +VSplitContainer/styles/bg = null +WindowDialog/colors/title_color = Color( 1, 1, 1, 1 ) +WindowDialog/constants/close_h_ofs = 22 +WindowDialog/constants/close_v_ofs = 20 +WindowDialog/constants/scaleborder_size = 4 +WindowDialog/constants/title_height = 20 +WindowDialog/fonts/title_font = null +WindowDialog/icons/close = ExtResource( 17 ) +WindowDialog/icons/close_highlight = ExtResource( 14 ) +WindowDialog/styles/panel = SubResource( 66 ) [node name="TitleScreen" type="Control"] anchor_right = 1.0 @@ -216,6 +1427,7 @@ margin_left = 64.0 margin_top = 15.0 margin_right = 704.0 margin_bottom = 215.0 +theme = SubResource( 67 ) [node name="KeyBind" parent="." instance=ExtResource( 2 )] visible = false @@ -224,6 +1436,7 @@ anchor_bottom = 1.0 [node name="AppearanceEditor" parent="." instance=ExtResource( 8 )] visible = false +theme = SubResource( 68 ) [connection signal="returnToMainMenu" from="MarginContainer/VBoxContainer/MarginContainer/MenuArea" to="MarginContainer/VBoxContainer/MarginContainer/MenuArea" method="_on_MenuArea_returnToMainMenu"] [connection signal="pressed" from="MarginContainer/VBoxContainer/MarginContainer/MenuArea/MainMenu/Control/CenterContainer/PlayGame" to="MarginContainer/VBoxContainer/MarginContainer/MenuArea" method="_on_NewGame_pressed"] [connection signal="pressed" from="MarginContainer/VBoxContainer/MarginContainer/MenuArea/MainMenu/Control2/CenterContainer/Appearence" to="MarginContainer/VBoxContainer/MarginContainer/MenuArea" method="_on_Appearence_pressed"] From 8c9c6ebfd1a686e25b311a3f7cc6468a860e09b1 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Sun, 11 Apr 2021 01:59:13 -0400 Subject: [PATCH 20/22] disabled movement while chatbox is open --- src/assets/ui/lobbyui/chatbox/chatbox.tscn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/assets/ui/lobbyui/chatbox/chatbox.tscn b/src/assets/ui/lobbyui/chatbox/chatbox.tscn index 5501dac2..2695d11e 100644 --- a/src/assets/ui/lobbyui/chatbox/chatbox.tscn +++ b/src/assets/ui/lobbyui/chatbox/chatbox.tscn @@ -14,5 +14,7 @@ theme = ExtResource( 2 ) window_title = "Chatbox" resizable = true script = ExtResource( 1 ) +menu_name = "chatbox" +disable_movement = true [node name="chatboxbase" parent="." instance=ExtResource( 3 )] From 2b1b8faf277a9ef14eb03fc613e750cfc64ecbc4 Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Sun, 11 Apr 2021 02:14:43 -0400 Subject: [PATCH 21/22] added vote ui interact point to test map --- src/assets/maps/test/test.tscn | 79 ++++++++++++++++++-- src/assets/ui/hud/defaulthud/defaulthud.tscn | 15 +++- 2 files changed, 88 insertions(+), 6 deletions(-) diff --git a/src/assets/maps/test/test.tscn b/src/assets/maps/test/test.tscn index 0b5a5616..74fc648b 100644 --- a/src/assets/maps/test/test.tscn +++ b/src/assets/maps/test/test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=28 format=2] +[gd_scene load_steps=33 format=2] [ext_resource path="res://assets/common/textures/icons/spawnpad.png" type="Texture" id=1] [ext_resource path="res://assets/maps/common/dynamic/testdoor/testdoor.tscn" type="PackedScene" id=2] @@ -27,7 +27,7 @@ interact_data = { } advanced/network_sync = false -[sub_resource type="Resource" id=12] +[sub_resource type="Resource" id=2] resource_local_to_scene = true resource_name = "InteractUI" script = ExtResource( 11 ) @@ -44,7 +44,7 @@ resource_local_to_scene = true resource_name = "InteractTask" script = ExtResource( 8 ) task_text = "" -ui_resource = SubResource( 12 ) +ui_resource = SubResource( 2 ) outputs/toggle_map_interactions = false outputs/output_map_interactions = [ ] is_task_global = false @@ -90,7 +90,7 @@ interact_data = { } advanced/network_sync = false -[sub_resource type="Resource" id=13] +[sub_resource type="Resource" id=8] resource_local_to_scene = true resource_name = "InteractUI" script = ExtResource( 11 ) @@ -106,7 +106,7 @@ advanced/free_on_close = false resource_local_to_scene = true script = ExtResource( 8 ) task_text = "" -ui_resource = SubResource( 13 ) +ui_resource = SubResource( 8 ) outputs/toggle_map_interactions = false outputs/output_map_interactions = [ ] is_task_global = false @@ -130,6 +130,59 @@ task_resource = SubResource( 9 ) ui_resource = SubResource( 10 ) map_resource = SubResource( 7 ) +[sub_resource type="Resource" id=12] +resource_local_to_scene = true +resource_name = "InteractMap" +script = ExtResource( 10 ) +interact_with = NodePath("") +interact_data = { + +} +advanced/network_sync = false + +[sub_resource type="Resource" id=13] +resource_local_to_scene = true +resource_name = "InteractUI" +script = ExtResource( 11 ) +ui_name = "" +ui_data = { + +} +action = 0 +advanced/reinstance = false +advanced/free_on_close = false + +[sub_resource type="Resource" id=14] +resource_local_to_scene = true +resource_name = "InteractTask" +script = ExtResource( 8 ) +task_text = "" +ui_resource = SubResource( 13 ) +outputs/toggle_map_interactions = false +outputs/output_map_interactions = [ ] +is_task_global = false + +[sub_resource type="Resource" id=15] +resource_local_to_scene = true +resource_name = "InteractUI" +script = ExtResource( 11 ) +ui_name = "voteui" +ui_data = { + +} +action = 0 +advanced/reinstance = false +advanced/free_on_close = false + +[sub_resource type="Resource" id=16] +resource_local_to_scene = true +resource_name = "Interact" +script = ExtResource( 9 ) +interact_type = 1 +task_resource = SubResource( 14 ) +ui_resource = SubResource( 15 ) +map_resource = SubResource( 12 ) + [node name="test" type="YSort"] script = ExtResource( 15 ) @@ -227,6 +280,22 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="voteui" parent="." instance=ExtResource( 5 )] +position = Vector2( 0, 150 ) +interact_resource = SubResource( 16 ) +display_text = "Vote UI" + +[node name="Label" type="Label" parent="voteui"] +margin_left = -40.0 +margin_top = -20.0 +margin_right = 40.0 +text = "Vote UI" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + [node name="SpawnPoints" type="Node2D" parent="."] [node name="Position2D" type="Position2D" parent="SpawnPoints"] diff --git a/src/assets/ui/hud/defaulthud/defaulthud.tscn b/src/assets/ui/hud/defaulthud/defaulthud.tscn index b5d0cbb6..8ff9c55c 100644 --- a/src/assets/ui/hud/defaulthud/defaulthud.tscn +++ b/src/assets/ui/hud/defaulthud/defaulthud.tscn @@ -1,9 +1,21 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://assets/ui/hud/defaulthud/startgamebutton.gd" type="Script" id=1] [ext_resource path="res://assets/ui/hud/defaulthud/Button.gd" type="Script" id=2] +[ext_resource path="res://addons/opensusinteraction/resources/interactui/interactui.gd" type="Script" id=3] [ext_resource path="res://assets/ui/hud/defaulthud/taskinfo/taskinfo.tscn" type="PackedScene" id=4] +[sub_resource type="Resource" id=1] +resource_local_to_scene = true +script = ExtResource( 3 ) +ui_name = "chatbox" +ui_data = { + +} +action = 0 +advanced/reinstance = false +advanced/free_on_close = false + [node name="defaulthud" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 @@ -22,6 +34,7 @@ script = ExtResource( 2 ) __meta__ = { "_edit_use_anchors_": false } +interact_ui_resource = SubResource( 1 ) [node name="startgamebutton" type="Button" parent="."] anchor_top = 1.0 From 6fa8bf4dc6019672a45655a4257b22bdb7e77d0b Mon Sep 17 00:00:00 2001 From: TheSecondReal0 Date: Sun, 11 Apr 2021 02:19:07 -0400 Subject: [PATCH 22/22] polishing rebase --- src/assets/maps/test/test.tscn | 272 +++++++------------ src/assets/ui/hud/defaulthud/defaulthud.tscn | 15 +- src/assets/ui/lobbyui/voteui/voteui.tscn | 1 + 3 files changed, 104 insertions(+), 184 deletions(-) diff --git a/src/assets/maps/test/test.tscn b/src/assets/maps/test/test.tscn index 5d905fa8..74fc648b 100644 --- a/src/assets/maps/test/test.tscn +++ b/src/assets/maps/test/test.tscn @@ -1,5 +1,4 @@ -[gd_scene load_steps=37 format=2] - +[gd_scene load_steps=33 format=2] [ext_resource path="res://assets/common/textures/icons/spawnpad.png" type="Texture" id=1] [ext_resource path="res://assets/maps/common/dynamic/testdoor/testdoor.tscn" type="PackedScene" id=2] @@ -12,6 +11,11 @@ [ext_resource path="res://addons/opensusinteraction/resources/interact/interact.gd" type="Script" id=9] [ext_resource path="res://addons/opensusinteraction/resources/interactmap/interactmap.gd" type="Script" id=10] [ext_resource path="res://addons/opensusinteraction/resources/interactui/interactui.gd" type="Script" id=11] +[ext_resource path="res://assets/maps/test/tasks/clockset/standbuttonclockset.tres" type="Resource" id=12] +[ext_resource path="res://assets/items/battery.tscn" type="PackedScene" id=13] +[ext_resource path="res://assets/items/wrench.tscn" type="PackedScene" id=14] +[ext_resource path="res://assets/maps/map.gd" type="Script" id=15] +[ext_resource path="res://assets/maps/test/tasks/clockset/interactpointclockset.tres" type="Resource" id=16] [sub_resource type="Resource" id=1] resource_local_to_scene = true @@ -21,6 +25,7 @@ interact_with = NodePath("../testdoor") interact_data = { } +advanced/network_sync = false [sub_resource type="Resource" id=2] resource_local_to_scene = true @@ -30,8 +35,9 @@ ui_name = "" ui_data = { } +action = 0 advanced/reinstance = false -advanced/only_instance = false +advanced/free_on_close = false [sub_resource type="Resource" id=3] resource_local_to_scene = true @@ -40,6 +46,8 @@ script = ExtResource( 8 ) task_text = "" ui_resource = SubResource( 2 ) outputs/toggle_map_interactions = false +outputs/output_map_interactions = [ ] +is_task_global = false [sub_resource type="Resource" id=4] resource_local_to_scene = true @@ -49,8 +57,9 @@ ui_name = "" ui_data = { } +action = 0 advanced/reinstance = false -advanced/only_instance = false +advanced/free_on_close = false [sub_resource type="Resource" id=5] resource_local_to_scene = true @@ -63,81 +72,25 @@ map_resource = SubResource( 1 ) [sub_resource type="Resource" id=6] resource_local_to_scene = true -resource_name = "InteractMap" -script = ExtResource( 10 ) -interact_with = NodePath("clocktext") -interact_data = { - -} - -[sub_resource type="Resource" id=23] -resource_local_to_scene = true -resource_name = "InteractMap" -script = ExtResource( 10 ) -interact_with = NodePath("clocktext") -interact_data = { - -} - -[sub_resource type="Resource" id=7] -resource_local_to_scene = true -resource_name = "InteractUI" -script = ExtResource( 11 ) -ui_name = "clockset" -ui_data = { - -} -advanced/reinstance = false -advanced/only_instance = false - -[sub_resource type="Resource" id=8] -resource_local_to_scene = true -resource_name = "InteractTask" -script = ExtResource( 8 ) -task_text = "Task system clockset standbutton" -ui_resource = SubResource( 7 ) -outputs/toggle_map_interactions = true -outputs/output_map_interactions = [ SubResource( 23 ) ] - -[sub_resource type="Resource" id=9] -resource_local_to_scene = true -resource_name = "InteractUI" -script = ExtResource( 11 ) -ui_name = "" -ui_data = { - -} -advanced/reinstance = false -advanced/only_instance = false - -[sub_resource type="Resource" id=10] -resource_local_to_scene = true -resource_name = "Interact" -script = ExtResource( 9 ) -interact_type = 0 -task_resource = SubResource( 8 ) -ui_resource = SubResource( 9 ) -map_resource = SubResource( 6 ) - -[sub_resource type="Resource" id=11] -resource_local_to_scene = true script = ExtResource( 11 ) ui_name = "clockset" ui_data = { } +action = 0 advanced/reinstance = false -advanced/only_instance = false +advanced/free_on_close = false -[sub_resource type="Resource" id=12] +[sub_resource type="Resource" id=7] resource_local_to_scene = true script = ExtResource( 10 ) interact_with = NodePath("") interact_data = { } +advanced/network_sync = false -[sub_resource type="Resource" id=13] +[sub_resource type="Resource" id=8] resource_local_to_scene = true resource_name = "InteractUI" script = ExtResource( 11 ) @@ -145,89 +98,39 @@ ui_name = "" ui_data = { } +action = 0 advanced/reinstance = false -advanced/only_instance = false +advanced/free_on_close = false -[sub_resource type="Resource" id=14] +[sub_resource type="Resource" id=9] resource_local_to_scene = true script = ExtResource( 8 ) task_text = "" -ui_resource = SubResource( 13 ) +ui_resource = SubResource( 8 ) outputs/toggle_map_interactions = false +outputs/output_map_interactions = [ ] +is_task_global = false -[sub_resource type="Resource" id=15] +[sub_resource type="Resource" id=10] resource_local_to_scene = true script = ExtResource( 11 ) ui_name = "chatbox" ui_data = { } +action = 0 advanced/reinstance = false -advanced/only_instance = false +advanced/free_on_close = false -[sub_resource type="Resource" id=16] +[sub_resource type="Resource" id=11] resource_local_to_scene = true script = ExtResource( 9 ) interact_type = 1 -task_resource = SubResource( 14 ) -ui_resource = SubResource( 15 ) -map_resource = SubResource( 12 ) +task_resource = SubResource( 9 ) +ui_resource = SubResource( 10 ) +map_resource = SubResource( 7 ) -[sub_resource type="Resource" id=17] -resource_local_to_scene = true -script = ExtResource( 10 ) -interact_with = NodePath("") -interact_data = { - -} - -[sub_resource type="Resource" id=22] -resource_local_to_scene = true -resource_name = "InteractMap" -script = ExtResource( 10 ) -interact_with = NodePath("Label") -interact_data = { - -} - -[sub_resource type="Resource" id=18] -resource_local_to_scene = true -resource_name = "InteractUI" -script = ExtResource( 11 ) -ui_name = "clockset" -ui_data = { - -} -advanced/reinstance = false -advanced/only_instance = false - -[sub_resource type="Resource" id=19] -resource_local_to_scene = true -script = ExtResource( 8 ) -task_text = "Task system clockset" -ui_resource = SubResource( 18 ) -outputs/toggle_map_interactions = true -outputs/output_map_interactions = [ SubResource( 22 ) ] - -[sub_resource type="Resource" id=20] -resource_local_to_scene = true -script = ExtResource( 11 ) -ui_name = "" -ui_data = { - -} -advanced/reinstance = false -advanced/only_instance = false - -[sub_resource type="Resource" id=21] -resource_local_to_scene = true -script = ExtResource( 9 ) -interact_type = 0 -task_resource = SubResource( 19 ) -ui_resource = SubResource( 20 ) -map_resource = SubResource( 17 ) - -[sub_resource type="Resource" id=21] +[sub_resource type="Resource" id=12] resource_local_to_scene = true resource_name = "InteractMap" script = ExtResource( 10 ) @@ -235,27 +138,31 @@ interact_with = NodePath("") interact_data = { } +advanced/network_sync = false -[sub_resource type="Resource" id=22] +[sub_resource type="Resource" id=13] resource_local_to_scene = true resource_name = "InteractUI" script = ExtResource( 11 ) -ui_name = "clockset" +ui_name = "" ui_data = { } +action = 0 advanced/reinstance = false -advanced/only_instance = false +advanced/free_on_close = false -[sub_resource type="Resource" id=23] +[sub_resource type="Resource" id=14] resource_local_to_scene = true resource_name = "InteractTask" script = ExtResource( 8 ) task_text = "" -ui_resource = SubResource( 22 ) +ui_resource = SubResource( 13 ) outputs/toggle_map_interactions = false +outputs/output_map_interactions = [ ] +is_task_global = false -[sub_resource type="Resource" id=24] +[sub_resource type="Resource" id=15] resource_local_to_scene = true resource_name = "InteractUI" script = ExtResource( 11 ) @@ -263,32 +170,21 @@ ui_name = "voteui" ui_data = { } +action = 0 advanced/reinstance = false -advanced/only_instance = false +advanced/free_on_close = false -[sub_resource type="Resource" id=25] +[sub_resource type="Resource" id=16] resource_local_to_scene = true resource_name = "Interact" script = ExtResource( 9 ) interact_type = 1 -task_resource = SubResource( 23 ) -ui_resource = SubResource( 24 ) -map_resource = SubResource( 21 ) +task_resource = SubResource( 14 ) +ui_resource = SubResource( 15 ) +map_resource = SubResource( 12 ) [node name="test" type="YSort"] - -[node name="Node2D" type="Node2D" parent="."] -z_index = -100 - -[node name="ColorRect" type="ColorRect" parent="Node2D"] -margin_left = -1117.67 -margin_top = -710.188 -margin_right = 1424.33 -margin_bottom = 302.812 -color = Color( 0.239216, 0.239216, 0.239216, 1 ) -__meta__ = { -"_edit_use_anchors_": false -} +script = ExtResource( 15 ) [node name="Sprite2" type="Sprite" parent="."] light_mask = -2147483647 @@ -308,7 +204,7 @@ interact_on_exit = true [node name="standbutton2" parent="." instance=ExtResource( 3 )] position = Vector2( 0, -350 ) -interact_resource = SubResource( 10 ) +interact_resource = ExtResource( 12 ) only_main_player = true [node name="clocktext2" type="Label" parent="standbutton2"] @@ -334,11 +230,11 @@ script = ExtResource( 4 ) __meta__ = { "_edit_use_anchors_": false } -interact_resource = SubResource( 11 ) +interact_resource = SubResource( 6 ) [node name="interactpoint" parent="." instance=ExtResource( 5 )] position = Vector2( -450, 0 ) -interact_resource = SubResource( 16 ) +interact_resource = SubResource( 11 ) display_text = "Interact chat" [node name="Polygon2D" type="Polygon2D" parent="interactpoint"] @@ -372,44 +268,46 @@ __meta__ = { [node name="tasktest" parent="." instance=ExtResource( 5 )] position = Vector2( 450, 0 ) -interact_resource = SubResource( 21 ) +interact_resource = ExtResource( 16 ) display_text = "task test" -[node name="votetest" parent="." instance=ExtResource( 5 )] -position = Vector2( 0, 150 ) -interact_resource = SubResource( 25 ) -display_text = "Vote UI Test" - -[node name="Label" type="Label" parent="votetest"] -margin_left = -100.0 -margin_top = -20.0 -margin_right = 100.0 -text = "Vote UI Test" -align = 1 -valign = 1 - [node name="Label" type="Label" parent="tasktest"] margin_right = 40.0 margin_bottom = 22.0 text = "735" script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} +[node name="voteui" parent="." instance=ExtResource( 5 )] +position = Vector2( 0, 150 ) +interact_resource = SubResource( 16 ) +display_text = "Vote UI" + +[node name="Label" type="Label" parent="voteui"] +margin_left = -40.0 +margin_top = -20.0 +margin_right = 40.0 +text = "Vote UI" +align = 1 +valign = 1 __meta__ = { "_edit_use_anchors_": false } -[node name="spawnpoints" type="Node2D" parent="."] +[node name="SpawnPoints" type="Node2D" parent="."] -[node name="Position2D" type="Position2D" parent="spawnpoints"] +[node name="Position2D" type="Position2D" parent="SpawnPoints"] position = Vector2( -100, 0 ) -[node name="Position2D2" type="Position2D" parent="spawnpoints"] +[node name="Position2D2" type="Position2D" parent="SpawnPoints"] position = Vector2( 0, -100 ) -[node name="Position2D3" type="Position2D" parent="spawnpoints"] +[node name="Position2D3" type="Position2D" parent="SpawnPoints"] position = Vector2( 100, 0 ) -[node name="Position2D4" type="Position2D" parent="spawnpoints"] +[node name="Position2D4" type="Position2D" parent="SpawnPoints"] position = Vector2( 0, 100 ) [node name="walls" type="YSort" parent="."] @@ -494,4 +392,26 @@ scale = Vector2( 12, 3 ) position = Vector2( 600, 0 ) scale = Vector2( 3, 19 ) -[node name="Corpses" type="YSort" parent="."] +[node name="Interactive" type="YSort" parent="."] + +[node name="Items" type="YSort" parent="Interactive"] + +[node name="Wrench" parent="Interactive/Items" instance=ExtResource( 14 )] +material = null +position = Vector2( 55.4992, 31.1132 ) + +[node name="Wrench2" parent="Interactive/Items" instance=ExtResource( 14 )] +material = null +position = Vector2( -53.8174, -40.363 ) + +[node name="Battery" parent="Interactive/Items" instance=ExtResource( 13 )] +material = null +position = Vector2( 155.052, -40.363 ) + +[node name="Battery2" parent="Interactive/Items" instance=ExtResource( 13 )] +material = null +position = Vector2( -96.3763, 93.3395 ) + +[node name="Props" type="YSort" parent="."] + +[node name="Corpses" type="YSort" parent="Props"] diff --git a/src/assets/ui/hud/defaulthud/defaulthud.tscn b/src/assets/ui/hud/defaulthud/defaulthud.tscn index afc8ae83..8ff9c55c 100644 --- a/src/assets/ui/hud/defaulthud/defaulthud.tscn +++ b/src/assets/ui/hud/defaulthud/defaulthud.tscn @@ -2,24 +2,24 @@ [ext_resource path="res://assets/ui/hud/defaulthud/startgamebutton.gd" type="Script" id=1] [ext_resource path="res://assets/ui/hud/defaulthud/Button.gd" type="Script" id=2] -[ext_resource path="res://assets/ui/hud/defaulthud/rolescreen/rolescreen.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/opensusinteraction/resources/interactui/interactui.gd" type="Script" id=4] +[ext_resource path="res://addons/opensusinteraction/resources/interactui/interactui.gd" type="Script" id=3] +[ext_resource path="res://assets/ui/hud/defaulthud/taskinfo/taskinfo.tscn" type="PackedScene" id=4] [sub_resource type="Resource" id=1] resource_local_to_scene = true -script = ExtResource( 4 ) +script = ExtResource( 3 ) ui_name = "chatbox" ui_data = { } +action = 0 advanced/reinstance = false -advanced/only_instance = false +advanced/free_on_close = false [node name="defaulthud" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = -1.49829 -margin_right = -1.49829 +mouse_filter = 2 __meta__ = { "_edit_use_anchors_": false } @@ -47,7 +47,6 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Node2D" parent="." instance=ExtResource( 3 )] -visible = false +[node name="Control" parent="." instance=ExtResource( 4 )] [connection signal="pressed" from="Button" to="Button" method="_on_Button_pressed"] [connection signal="gamestartpressed" from="startgamebutton" to="Button" method="_on_startgamebutton_gamestartpressed"] diff --git a/src/assets/ui/lobbyui/voteui/voteui.tscn b/src/assets/ui/lobbyui/voteui/voteui.tscn index e678a66b..4fdca93e 100644 --- a/src/assets/ui/lobbyui/voteui/voteui.tscn +++ b/src/assets/ui/lobbyui/voteui/voteui.tscn @@ -17,6 +17,7 @@ window_title = "Meeting" resizable = true script = ExtResource( 3 ) menu_name = "votemenu" +disable_movement = true [node name="TabContainer" type="TabContainer" parent="."] anchor_right = 1.0