15043b5655
- Wire take_powerup AnimatedSprite3D on powerup pickup via add_powerup_from_item() - Make take_powerup animation one-shot (loop: false) - Fix rank Position label hidden at game start (visible = false, only shows when score > 0) - Competition ranking for tied scores in main.gd - Lobby Chat admin tab: system prefix, max messages, wipe, purge old, save config - Chat Storage admin tab: list/browse/delete individual channel messages - Backend RPCs: admin_get_chat_config, admin_set_chat_config, admin_purge_old_messages, admin_list_channel_messages, admin_delete_channel_message - Chat config applied on lobby join (max_messages, prefix injection)
708 lines
22 KiB
Plaintext
708 lines
22 KiB
Plaintext
[gd_scene load_steps=2 format=3 uid="uid://biio8efqysivs"]
|
|
|
|
[ext_resource type="Script" uid="uid://ic8fg0o0p0i4" path="res://scripts/ui/admin_panel.gd" id="1"]
|
|
[ext_resource type="PackedScene" uid="uid://dp12345678" path="res://scenes/ui/date_picker.tscn" id="2_dp"]
|
|
|
|
[node name="AdminPanel" type="Panel"]
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
script = ExtResource("1")
|
|
|
|
[node name="BG" type="ColorRect" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
color = Color(0.1, 0.1, 0.12, 1)
|
|
|
|
[node name="Margin" type="MarginContainer" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
theme_override_constants/margin_left = 24
|
|
theme_override_constants/margin_top = 16
|
|
theme_override_constants/margin_right = 24
|
|
theme_override_constants/margin_bottom = 16
|
|
|
|
[node name="VBox" type="VBoxContainer" parent="Margin"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="Header" type="HBoxContainer" parent="Margin/VBox"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 12
|
|
|
|
[node name="Title" type="Label" parent="Margin/VBox/Header"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
text = "SERVER ADMIN PANEL"
|
|
|
|
[node name="CountLabel" type="Label" parent="Margin/VBox/Header"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
text = "0 items"
|
|
|
|
[node name="RefreshBtn" type="Button" parent="Margin/VBox/Header"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(90, 32)
|
|
layout_mode = 2
|
|
text = "Refresh"
|
|
|
|
[node name="CloseBtn" type="Button" parent="Margin/VBox/Header"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(32, 32)
|
|
layout_mode = 2
|
|
text = "X"
|
|
|
|
[node name="Sep" type="HSeparator" parent="Margin/VBox"]
|
|
layout_mode = 2
|
|
|
|
[node name="Tabs" type="TabContainer" parent="Margin/VBox"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_vertical = 3
|
|
current_tab = 0
|
|
|
|
[node name="Users" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
metadata/_tab_index = 0
|
|
|
|
[node name="UserTree" type="Tree" parent="Margin/VBox/Tabs/Users"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_vertical = 3
|
|
columns = 6
|
|
column_titles_visible = true
|
|
allow_reselect = true
|
|
hide_root = true
|
|
select_mode = 1
|
|
|
|
[node name="UserActionBar" type="HBoxContainer" parent="Margin/VBox/Tabs/Users"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="SelectAllBtn" type="Button" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(100, 36)
|
|
layout_mode = 2
|
|
text = "Select All"
|
|
|
|
[node name="DeselectBtn" type="Button" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(100, 36)
|
|
layout_mode = 2
|
|
text = "Deselect All"
|
|
|
|
[node name="Spacer" type="Control" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="SelectedLabel" type="Label" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
text = "0 selected"
|
|
|
|
[node name="HistoryBtn" type="Button" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(80, 36)
|
|
layout_mode = 2
|
|
text = "HISTORY"
|
|
|
|
|
|
[node name="BanBtn" type="Button" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(80, 36)
|
|
layout_mode = 2
|
|
text = "BAN"
|
|
|
|
[node name="UnbanBtn" type="Button" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(80, 36)
|
|
layout_mode = 2
|
|
text = "UNBAN"
|
|
|
|
[node name="DeleteBtn" type="Button" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(80, 36)
|
|
layout_mode = 2
|
|
text = "DELETE"
|
|
|
|
[node name="Leaderboards" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
|
visible = false
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
metadata/_tab_index = 1
|
|
|
|
[node name="LeaderboardTree" type="Tree" parent="Margin/VBox/Tabs/Leaderboards"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_vertical = 3
|
|
columns = 6
|
|
column_titles_visible = true
|
|
allow_reselect = true
|
|
hide_root = true
|
|
|
|
[node name="LBActionBar" type="HBoxContainer" parent="Margin/VBox/Tabs/Leaderboards"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
alignment = 2
|
|
|
|
[node name="SyncLeaderboardBtn" type="Button" parent="Margin/VBox/Tabs/Leaderboards/LBActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(160, 36)
|
|
layout_mode = 2
|
|
text = "Sync with Storage"
|
|
|
|
[node name="ResetLBBtn" type="Button" parent="Margin/VBox/Tabs/Leaderboards/LBActionBar"]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
custom_minimum_size = Vector2(120, 36)
|
|
layout_mode = 2
|
|
text = "Reset All Scores"
|
|
|
|
[node name="Daily Rewards" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
|
visible = false
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
metadata/_tab_index = 2
|
|
|
|
[node name="MonthHBox" type="HBoxContainer" parent="Margin/VBox/Tabs/Daily Rewards"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 12
|
|
|
|
[node name="Label" type="Label" parent="Margin/VBox/Tabs/Daily Rewards/MonthHBox"]
|
|
layout_mode = 2
|
|
text = "Target Month:"
|
|
|
|
[node name="MonthOptionBtn" type="OptionButton" parent="Margin/VBox/Tabs/Daily Rewards/MonthHBox"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(150, 0)
|
|
layout_mode = 2
|
|
|
|
[node name="DaysScroll" type="ScrollContainer" parent="Margin/VBox/Tabs/Daily Rewards"]
|
|
layout_mode = 2
|
|
size_flags_vertical = 3
|
|
|
|
[node name="DaysGrid" type="GridContainer" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
size_flags_vertical = 3
|
|
theme_override_constants/h_separation = 10
|
|
theme_override_constants/v_separation = 10
|
|
columns = 6
|
|
|
|
[node name="DayConfigTemplate" type="PanelContainer" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll/DaysGrid"]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="ColorRect" type="ColorRect" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll/DaysGrid/DayConfigTemplate"]
|
|
layout_mode = 2
|
|
color = Color(0.12, 0.12, 0.12, 1)
|
|
|
|
[node name="Border" type="ReferenceRect" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll/DaysGrid/DayConfigTemplate"]
|
|
layout_mode = 2
|
|
border_color = Color(0.25, 0.25, 0.25, 1)
|
|
border_width = 1.0
|
|
editor_only = false
|
|
|
|
[node name="Margin" type="MarginContainer" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll/DaysGrid/DayConfigTemplate"]
|
|
layout_mode = 2
|
|
theme_override_constants/margin_left = 4
|
|
theme_override_constants/margin_top = 4
|
|
theme_override_constants/margin_right = 4
|
|
theme_override_constants/margin_bottom = 4
|
|
|
|
[node name="VBox" type="VBoxContainer" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll/DaysGrid/DayConfigTemplate/Margin"]
|
|
layout_mode = 2
|
|
|
|
[node name="DayLabel" type="Label" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll/DaysGrid/DayConfigTemplate/Margin/VBox"]
|
|
layout_mode = 2
|
|
text = "Day 1"
|
|
horizontal_alignment = 1
|
|
|
|
[node name="TypeOptionBtn" type="OptionButton" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll/DaysGrid/DayConfigTemplate/Margin/VBox"]
|
|
layout_mode = 2
|
|
alignment = 1
|
|
item_count = 5
|
|
popup/item_0/text = "star"
|
|
popup/item_0/id = 0
|
|
popup/item_1/text = "gold"
|
|
popup/item_1/id = 1
|
|
popup/item_2/text = "frag_common"
|
|
popup/item_2/id = 2
|
|
popup/item_3/text = "frag_uncommon"
|
|
popup/item_3/id = 3
|
|
popup/item_4/text = "frag_rare"
|
|
popup/item_4/id = 4
|
|
|
|
[node name="AmountSpinBox" type="SpinBox" parent="Margin/VBox/Tabs/Daily Rewards/DaysScroll/DaysGrid/DayConfigTemplate/Margin/VBox"]
|
|
layout_mode = 2
|
|
max_value = 10000.0
|
|
alignment = 1
|
|
|
|
[node name="DRActionBar" type="HBoxContainer" parent="Margin/VBox/Tabs/Daily Rewards"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
alignment = 2
|
|
|
|
[node name="LoadDRConfigBtn" type="Button" parent="Margin/VBox/Tabs/Daily Rewards/DRActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(160, 36)
|
|
layout_mode = 2
|
|
text = "Reload Config"
|
|
|
|
[node name="SaveDRConfigBtn" type="Button" parent="Margin/VBox/Tabs/Daily Rewards/DRActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(160, 36)
|
|
layout_mode = 2
|
|
text = "Save Config"
|
|
|
|
[node name="Announcements" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
|
visible = false
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 12
|
|
metadata/_tab_index = 3
|
|
|
|
[node name="TargetHBox" type="HBoxContainer" parent="Margin/VBox/Tabs/Announcements"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="Label" type="Label" parent="Margin/VBox/Tabs/Announcements/TargetHBox"]
|
|
layout_mode = 2
|
|
text = "Target:"
|
|
|
|
[node name="TargetUserEdit" type="LineEdit" parent="Margin/VBox/Tabs/Announcements/TargetHBox"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
placeholder_text = "Username or User ID (empty = ALL)"
|
|
|
|
[node name="FindUserBtn" type="Button" parent="Margin/VBox/Tabs/Announcements/TargetHBox"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(80, 0)
|
|
layout_mode = 2
|
|
text = "Find"
|
|
|
|
[node name="ResolvedIdLabel" type="Label" parent="Margin/VBox/Tabs/Announcements/TargetHBox"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
theme_override_colors/font_color = Color(0.4, 0.9, 0.4, 1)
|
|
text = ""
|
|
|
|
[node name="TitleEdit" type="LineEdit" parent="Margin/VBox/Tabs/Announcements"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
placeholder_text = "Message Title"
|
|
|
|
[node name="ContentEdit" type="TextEdit" parent="Margin/VBox/Tabs/Announcements"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 150)
|
|
layout_mode = 2
|
|
placeholder_text = "Message Content"
|
|
|
|
[node name="ScheduleHBox" type="HBoxContainer" parent="Margin/VBox/Tabs/Announcements"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 12
|
|
|
|
[node name="LabelStart" type="Label" parent="Margin/VBox/Tabs/Announcements/ScheduleHBox"]
|
|
layout_mode = 2
|
|
text = "Start:"
|
|
|
|
[node name="StartDatePicker" parent="Margin/VBox/Tabs/Announcements/ScheduleHBox" instance=ExtResource("2_dp")]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="LabelEnd" type="Label" parent="Margin/VBox/Tabs/Announcements/ScheduleHBox"]
|
|
layout_mode = 2
|
|
text = "End:"
|
|
|
|
[node name="EndDatePicker" parent="Margin/VBox/Tabs/Announcements/ScheduleHBox" instance=ExtResource("2_dp")]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="RewardsHeader" type="HBoxContainer" parent="Margin/VBox/Tabs/Announcements"]
|
|
layout_mode = 2
|
|
|
|
[node name="Label" type="Label" parent="Margin/VBox/Tabs/Announcements/RewardsHeader"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
text = "Attached Rewards"
|
|
|
|
[node name="AddRewardBtn" type="Button" parent="Margin/VBox/Tabs/Announcements/RewardsHeader"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(100, 30)
|
|
layout_mode = 2
|
|
text = "+ ADD"
|
|
|
|
[node name="RewardsList" type="VBoxContainer" parent="Margin/VBox/Tabs/Announcements"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="RewardRowTemplate" type="HBoxContainer" parent="Margin/VBox/Tabs/Announcements"]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="TypeOption" type="OptionButton" parent="Margin/VBox/Tabs/Announcements/RewardRowTemplate"]
|
|
custom_minimum_size = Vector2(100, 0)
|
|
layout_mode = 2
|
|
item_count = 4
|
|
selected = 0
|
|
popup/item_0/text = "star"
|
|
popup/item_0/id = 0
|
|
popup/item_1/text = "gold"
|
|
popup/item_1/id = 1
|
|
popup/item_2/text = "item"
|
|
popup/item_2/id = 2
|
|
popup/item_3/text = "skin"
|
|
popup/item_3/id = 3
|
|
|
|
[node name="IdEdit" type="LineEdit" parent="Margin/VBox/Tabs/Announcements/RewardRowTemplate"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
placeholder_text = "Item/Skin ID (Leave empty for Star/Gold)"
|
|
|
|
[node name="AmountSpin" type="SpinBox" parent="Margin/VBox/Tabs/Announcements/RewardRowTemplate"]
|
|
layout_mode = 2
|
|
max_value = 100000.0
|
|
value = 1.0
|
|
|
|
[node name="RemoveBtn" type="Button" parent="Margin/VBox/Tabs/Announcements/RewardRowTemplate"]
|
|
layout_mode = 2
|
|
text = "X"
|
|
theme_override_colors/font_color = Color(1, 0.3, 0.3, 1)
|
|
|
|
[node name="SendMailBtn" type="Button" parent="Margin/VBox/Tabs/Announcements"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 40)
|
|
layout_mode = 2
|
|
text = "SEND ANNOUNCEMENT"
|
|
|
|
[node name="Mail Manager" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
|
visible = false
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
metadata/_tab_index = 4
|
|
|
|
[node name="MailTree" type="Tree" parent="Margin/VBox/Tabs/Mail Manager"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_vertical = 3
|
|
columns = 6
|
|
column_titles_visible = true
|
|
allow_reselect = true
|
|
hide_root = true
|
|
select_mode = 1
|
|
|
|
[node name="MailActionBar" type="HBoxContainer" parent="Margin/VBox/Tabs/Mail Manager"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="RefreshMailBtn" type="Button" parent="Margin/VBox/Tabs/Mail Manager/MailActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(100, 36)
|
|
layout_mode = 2
|
|
text = "Refresh"
|
|
|
|
[node name="Spacer" type="Control" parent="Margin/VBox/Tabs/Mail Manager/MailActionBar"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="EditMailBtn" type="Button" parent="Margin/VBox/Tabs/Mail Manager/MailActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(100, 36)
|
|
layout_mode = 2
|
|
text = "Edit"
|
|
|
|
[node name="EndMailBtn" type="Button" parent="Margin/VBox/Tabs/Mail Manager/MailActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(120, 36)
|
|
layout_mode = 2
|
|
text = "End Now"
|
|
|
|
[node name="DeleteMailServerBtn" type="Button" parent="Margin/VBox/Tabs/Mail Manager/MailActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(120, 36)
|
|
layout_mode = 2
|
|
text = "Delete"
|
|
|
|
[node name="StatusLabel" type="Label" parent="Margin/VBox"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
horizontal_alignment = 1
|
|
|
|
[node name="Shop" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
|
visible = false
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 16
|
|
metadata/_tab_index = 5
|
|
|
|
[node name="HeaderLbl" type="Label" parent="Margin/VBox/Tabs/Shop"]
|
|
layout_mode = 2
|
|
text = "Featured Banner Slots (Event / Special)"
|
|
theme_override_font_sizes/font_size = 15
|
|
|
|
[node name="InfoLbl" type="Label" parent="Margin/VBox/Tabs/Shop"]
|
|
layout_mode = 2
|
|
autowrap_mode = 3
|
|
text = "Each slot shows a cosmetic item as a special event banner in the Shop sidebar. Leave Item ID blank to hide the slot."
|
|
|
|
[node name="SlotsVBox" type="VBoxContainer" parent="Margin/VBox/Tabs/Shop"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 12
|
|
|
|
[node name="Slot1" type="HBoxContainer" parent="Margin/VBox/Tabs/Shop/SlotsVBox"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="SlotLbl" type="Label" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot1"]
|
|
custom_minimum_size = Vector2(60, 0)
|
|
layout_mode = 2
|
|
text = "Slot 1:"
|
|
vertical_alignment = 1
|
|
|
|
[node name="ItemIdEdit" type="LineEdit" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot1"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
placeholder_text = "Item ID (e.g. oldpop-blue-hat)"
|
|
|
|
[node name="LabelEdit" type="LineEdit" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot1"]
|
|
custom_minimum_size = Vector2(160, 0)
|
|
layout_mode = 2
|
|
placeholder_text = "Event label (e.g. LIMITED!)"
|
|
|
|
[node name="Slot2" type="HBoxContainer" parent="Margin/VBox/Tabs/Shop/SlotsVBox"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="SlotLbl" type="Label" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot2"]
|
|
custom_minimum_size = Vector2(60, 0)
|
|
layout_mode = 2
|
|
text = "Slot 2:"
|
|
vertical_alignment = 1
|
|
|
|
[node name="ItemIdEdit" type="LineEdit" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot2"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
placeholder_text = "Item ID (e.g. oldpop-red-hat)"
|
|
|
|
[node name="LabelEdit" type="LineEdit" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot2"]
|
|
custom_minimum_size = Vector2(160, 0)
|
|
layout_mode = 2
|
|
placeholder_text = "Event label"
|
|
|
|
[node name="Slot3" type="HBoxContainer" parent="Margin/VBox/Tabs/Shop/SlotsVBox"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="SlotLbl" type="Label" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot3"]
|
|
custom_minimum_size = Vector2(60, 0)
|
|
layout_mode = 2
|
|
text = "Slot 3:"
|
|
vertical_alignment = 1
|
|
|
|
[node name="ItemIdEdit" type="LineEdit" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot3"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
placeholder_text = "Item ID (e.g. oldpop-yellow-hat)"
|
|
|
|
[node name="LabelEdit" type="LineEdit" parent="Margin/VBox/Tabs/Shop/SlotsVBox/Slot3"]
|
|
custom_minimum_size = Vector2(160, 0)
|
|
layout_mode = 2
|
|
placeholder_text = "Event label"
|
|
|
|
[node name="ShopActionBar" type="HBoxContainer" parent="Margin/VBox/Tabs/Shop"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
alignment = 2
|
|
|
|
[node name="LoadBannersBtn" type="Button" parent="Margin/VBox/Tabs/Shop/ShopActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(140, 36)
|
|
layout_mode = 2
|
|
text = "Load Current"
|
|
|
|
[node name="SaveBannersBtn" type="Button" parent="Margin/VBox/Tabs/Shop/ShopActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(160, 36)
|
|
layout_mode = 2
|
|
|
|
[node name="Lobby Chat" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="PrefixRow" type="HBoxContainer" parent="Margin/VBox/Tabs/Lobby Chat"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="Label" type="Label" parent="Margin/VBox/Tabs/Lobby Chat/PrefixRow"]
|
|
layout_mode = 2
|
|
custom_minimum_size = Vector2(220, 0)
|
|
text = "System Prefix:"
|
|
|
|
[node name="PrefixEdit" type="LineEdit" parent="Margin/VBox/Tabs/Lobby Chat/PrefixRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
placeholder_text = "[SERVER]"
|
|
|
|
[node name="MaxMsgRow" type="HBoxContainer" parent="Margin/VBox/Tabs/Lobby Chat"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="Label" type="Label" parent="Margin/VBox/Tabs/Lobby Chat/MaxMsgRow"]
|
|
layout_mode = 2
|
|
custom_minimum_size = Vector2(220, 0)
|
|
text = "Max messages loaded:"
|
|
|
|
[node name="MaxMsgSpin" type="SpinBox" parent="Margin/VBox/Tabs/Lobby Chat/MaxMsgRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
custom_minimum_size = Vector2(120, 0)
|
|
min_value = 10.0
|
|
max_value = 200.0
|
|
step = 10.0
|
|
value = 50.0
|
|
|
|
[node name="MaxAgeRow" type="HBoxContainer" parent="Margin/VBox/Tabs/Lobby Chat"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="Label" type="Label" parent="Margin/VBox/Tabs/Lobby Chat/MaxAgeRow"]
|
|
layout_mode = 2
|
|
custom_minimum_size = Vector2(220, 0)
|
|
text = "Delete messages older than (days):"
|
|
|
|
[node name="MaxAgeSpin" type="SpinBox" parent="Margin/VBox/Tabs/Lobby Chat/MaxAgeRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
custom_minimum_size = Vector2(120, 0)
|
|
min_value = 0.0
|
|
max_value = 365.0
|
|
step = 1.0
|
|
value = 0.0
|
|
tooltip_text = "0 = don't auto-delete, use manual purge only"
|
|
|
|
[node name="ChatActions" type="HBoxContainer" parent="Margin/VBox/Tabs/Lobby Chat"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="WipeChatBtn" type="Button" parent="Margin/VBox/Tabs/Lobby Chat/ChatActions"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(140, 36)
|
|
layout_mode = 2
|
|
text = "Wipe Chat"
|
|
|
|
[node name="PurgeOldBtn" type="Button" parent="Margin/VBox/Tabs/Lobby Chat/ChatActions"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(140, 36)
|
|
layout_mode = 2
|
|
text = "Purge Old"
|
|
|
|
[node name="SaveConfigBtn" type="Button" parent="Margin/VBox/Tabs/Lobby Chat/ChatActions"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(140, 36)
|
|
layout_mode = 2
|
|
text = "Save Config"
|
|
|
|
[node name="ChatStatusLabel" type="Label" parent="Margin/VBox/Tabs/Lobby Chat"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
text = ""
|
|
|
|
[node name="Chat Storage" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="ChannelIdRow" type="HBoxContainer" parent="Margin/VBox/Tabs/Chat Storage"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="Label" type="Label" parent="Margin/VBox/Tabs/Chat Storage/ChannelIdRow"]
|
|
layout_mode = 2
|
|
text = "Channel ID:"
|
|
|
|
[node name="ChannelIdEdit" type="LineEdit" parent="Margin/VBox/Tabs/Chat Storage/ChannelIdRow"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
placeholder_text = "Enter channel ID..."
|
|
|
|
[node name="LoadMessagesBtn" type="Button" parent="Margin/VBox/Tabs/Chat Storage/ChannelIdRow"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(100, 0)
|
|
layout_mode = 2
|
|
text = "Load"
|
|
|
|
[node name="ChatTree" type="Tree" parent="Margin/VBox/Tabs/Chat Storage"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_vertical = 3
|
|
columns = 4
|
|
column_titles_visible = true
|
|
allow_reselect = true
|
|
hide_root = true
|
|
select_mode = 1
|
|
|
|
[node name="ChatStorageActionBar" type="HBoxContainer" parent="Margin/VBox/Tabs/Chat Storage"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 8
|
|
|
|
[node name="RefreshChatBtn" type="Button" parent="Margin/VBox/Tabs/Chat Storage/ChatStorageActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(100, 36)
|
|
layout_mode = 2
|
|
text = "Refresh"
|
|
|
|
[node name="Spacer" type="Control" parent="Margin/VBox/Tabs/Chat Storage/ChatStorageActionBar"]
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="DeleteSelectedBtn" type="Button" parent="Margin/VBox/Tabs/Chat Storage/ChatStorageActionBar"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(120, 36)
|
|
layout_mode = 2
|
|
text = "Delete Selected"
|
|
|
|
[node name="HistoryDialog" type="AcceptDialog" parent="."]
|
|
unique_name_in_owner = true
|
|
title = "User History"
|
|
size = Vector2i(700, 500)
|
|
|
|
[node name="ScrollContainer" type="ScrollContainer" parent="HistoryDialog"]
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
offset_left = 8.0
|
|
offset_top = 8.0
|
|
offset_right = -8.0
|
|
offset_bottom = -49.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
|
|
[node name="HistoryText" type="RichTextLabel" parent="HistoryDialog/ScrollContainer"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
size_flags_vertical = 3
|
|
focus_mode = 2
|
|
selection_enabled = true
|