feat: overhaul the nakama user management, leaderboard, prep for 2.1
This commit is contained in:
+122
-105
@@ -1,151 +1,168 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://biio8efqysivs"]
|
||||
[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="Theme" uid="uid://da337sh5qxi0s" path="res://assets/themes/ui_theme.tres" id="2"]
|
||||
|
||||
[node name="AdminPanel" type="PanelContainer"]
|
||||
offset_right = 480.0
|
||||
offset_bottom = 520.0
|
||||
theme = ExtResource("2")
|
||||
[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="VBox" type="VBoxContainer" parent="."]
|
||||
[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="Header" type="HBoxContainer" parent="VBox"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Title" type="Label" parent="VBox/Header"]
|
||||
[node name="Title" type="Label" parent="Margin/VBox/Header"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_colors/font_color = Color(0.647, 0.996, 0.224, 1)
|
||||
theme_override_font_sizes/font_size = 22
|
||||
text = "⚙ Admin Panel"
|
||||
text = "SERVER ADMIN PANEL"
|
||||
|
||||
[node name="CloseButton" type="Button" parent="VBox/Header"]
|
||||
[node name="CountLabel" type="Label" parent="Margin/VBox/Header"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(36, 36)
|
||||
layout_mode = 2
|
||||
text = "✕"
|
||||
text = "0 items"
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="VBox"]
|
||||
[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="Players" type="VBoxContainer" parent="VBox/TabContainer"]
|
||||
[node name="Users" type="VBoxContainer" parent="Margin/VBox/Tabs"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
theme_override_constants/separation = 8
|
||||
metadata/_tab_index = 0
|
||||
|
||||
[node name="PlayerList" type="ItemList" parent="VBox/TabContainer/Players"]
|
||||
[node name="UserTree" type="Tree" parent="Margin/VBox/Tabs/Users"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 180)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
columns = 6
|
||||
column_titles_visible = true
|
||||
allow_reselect = true
|
||||
hide_root = true
|
||||
select_mode = 1
|
||||
|
||||
[node name="PlayerActions" type="HBoxContainer" parent="VBox/TabContainer/Players"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="KickBtn" type="Button" parent="VBox/TabContainer/Players/PlayerActions"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 44)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Kick"
|
||||
|
||||
[node name="BanBtn" type="Button" parent="VBox/TabContainer/Players/PlayerActions"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 44)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Ban"
|
||||
|
||||
[node name="MuteBtn" type="Button" parent="VBox/TabContainer/Players/PlayerActions"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 44)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Mute"
|
||||
|
||||
[node name="Server" type="VBoxContainer" parent="VBox/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
metadata/_tab_index = 1
|
||||
|
||||
[node name="StatsGrid" type="GridContainer" parent="VBox/TabContainer/Server"]
|
||||
layout_mode = 2
|
||||
columns = 2
|
||||
|
||||
[node name="Label1" type="Label" parent="VBox/TabContainer/Server/StatsGrid"]
|
||||
layout_mode = 2
|
||||
text = "Connected Players:"
|
||||
|
||||
[node name="PlayerCount" type="Label" parent="VBox/TabContainer/Server/StatsGrid"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.647, 0.996, 0.224, 1)
|
||||
text = "0"
|
||||
|
||||
[node name="Label2" type="Label" parent="VBox/TabContainer/Server/StatsGrid"]
|
||||
layout_mode = 2
|
||||
text = "Match ID:"
|
||||
|
||||
[node name="MatchIdLabel" type="Label" parent="VBox/TabContainer/Server/StatsGrid"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.992, 0.796, 0.047, 1)
|
||||
text = "N/A"
|
||||
|
||||
[node name="Label3" type="Label" parent="VBox/TabContainer/Server/StatsGrid"]
|
||||
layout_mode = 2
|
||||
text = "Server Status:"
|
||||
|
||||
[node name="ServerStatus" type="Label" parent="VBox/TabContainer/Server/StatsGrid"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.647, 0.996, 0.224, 1)
|
||||
text = "Running"
|
||||
|
||||
[node name="ServerActions" type="VBoxContainer" parent="VBox/TabContainer/Server"]
|
||||
[node name="UserActionBar" type="HBoxContainer" parent="Margin/VBox/Tabs/Users"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 8
|
||||
|
||||
[node name="EndMatchBtn" type="Button" parent="VBox/TabContainer/Server/ServerActions"]
|
||||
[node name="SelectAllBtn" type="Button" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 44)
|
||||
custom_minimum_size = Vector2(100, 36)
|
||||
layout_mode = 2
|
||||
text = "End Match"
|
||||
text = "Select All"
|
||||
|
||||
[node name="RestartMatchBtn" type="Button" parent="VBox/TabContainer/Server/ServerActions"]
|
||||
[node name="DeselectBtn" type="Button" parent="Margin/VBox/Tabs/Users/UserActionBar"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 44)
|
||||
custom_minimum_size = Vector2(100, 36)
|
||||
layout_mode = 2
|
||||
text = "Restart Match"
|
||||
text = "Deselect All"
|
||||
|
||||
[node name="Bans" type="VBoxContainer" parent="VBox/TabContainer"]
|
||||
[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="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 = 10
|
||||
metadata/_tab_index = 2
|
||||
theme_override_constants/separation = 8
|
||||
metadata/_tab_index = 1
|
||||
|
||||
[node name="BanList" type="ItemList" parent="VBox/TabContainer/Bans"]
|
||||
[node name="LeaderboardTree" type="Tree" parent="Margin/VBox/Tabs/Leaderboards"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 180)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
columns = 6
|
||||
column_titles_visible = true
|
||||
allow_reselect = true
|
||||
hide_root = true
|
||||
|
||||
[node name="UnbanBtn" type="Button" parent="VBox/TabContainer/Bans"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 44)
|
||||
[node name="LBActionBar" type="HBoxContainer" parent="Margin/VBox/Tabs/Leaderboards"]
|
||||
layout_mode = 2
|
||||
text = "Unban Selected"
|
||||
theme_override_constants/separation = 8
|
||||
alignment = 2
|
||||
|
||||
[node name="StatusLabel" type="Label" parent="VBox"]
|
||||
[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="StatusLabel" type="Label" parent="Margin/VBox"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 12
|
||||
horizontal_alignment = 1
|
||||
|
||||
@@ -128,6 +128,7 @@ stretch = true
|
||||
|
||||
[node name="PreviewViewport" type="SubViewport" parent="MainLayout/RightPanel" unique_id=434116765]
|
||||
unique_name_in_owner = true
|
||||
own_world_3d = true
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
size = Vector2i(608, 720)
|
||||
|
||||
@@ -238,6 +238,14 @@ layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("3_e13i6")
|
||||
text = "Link Email (Keep Progress)"
|
||||
|
||||
[node name="AdminPanelBtn" type="Button" parent="MainLayout/LeftPanel/LeftVBox/AccountSection" unique_id=987654321]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 44)
|
||||
layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("3_e13i6")
|
||||
theme_override_colors/font_color = Color(1.0, 0.4, 0.4, 1.0)
|
||||
text = "Server Admin Panel"
|
||||
|
||||
[node name="LogoutBtn" type="Button" parent="MainLayout/LeftPanel/LeftVBox/AccountSection" unique_id=1741557407]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 44)
|
||||
@@ -260,6 +268,7 @@ stretch = true
|
||||
|
||||
[node name="PreviewViewport" type="SubViewport" parent="MainLayout/RightPanel" unique_id=2118325644]
|
||||
unique_name_in_owner = true
|
||||
own_world_3d = true
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
size = Vector2i(746, 742)
|
||||
|
||||
Reference in New Issue
Block a user