feat: add battlepass slider and quest list tabs to lobby HUD

This commit is contained in:
2026-07-09 18:25:07 +08:00
parent 114748a54f
commit 933119ca56
99 changed files with 3861 additions and 417 deletions
+148
View File
@@ -0,0 +1,148 @@
extends ScrollContainer
signal page_changed(index: int)
const SNAP_DURATION := 0.25
const TEX_DEFAULT := preload("res://assets/graphics/gui/lobby/bar_default.svg")
const TEX_ACTIVE := preload("res://assets/graphics/gui/lobby/bar_active.svg")
@export var auto_advance_enabled: bool = true
@export var auto_advance_delay: float = 4.0
@onready var _track: HBoxContainer = $CardMargin/HBoxContainer
@onready var _page_dots: Array = get_node_or_null("../PageIndicator").get_children() if get_node_or_null("../PageIndicator") else []
var _dragging := false
var _drag_start_pos := 0.0
var _drag_start_scroll := 0
var _snap_tween: Tween
var _auto_timer: Timer
var _last_reported_page := -1
func _ready() -> void:
_update_indicator()
_setup_auto_timer()
func _setup_auto_timer() -> void:
_auto_timer = Timer.new()
_auto_timer.name = "AutoAdvanceTimer"
_auto_timer.one_shot = true
_auto_timer.timeout.connect(_on_auto_timer_timeout)
add_child(_auto_timer)
_restart_auto_timer()
func _restart_auto_timer() -> void:
if not auto_advance_enabled or _dragging or _card_count() <= 1:
return
_auto_timer.stop()
_auto_timer.wait_time = auto_advance_delay
_auto_timer.start()
func _on_auto_timer_timeout() -> void:
if _dragging:
return
var next_index := (_current_page() + 1) % _card_count()
_animate_to_page(next_index)
func _exit_tree() -> void:
if _auto_timer:
_auto_timer.stop()
if _snap_tween:
_snap_tween.kill()
func _gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT:
if event.pressed:
_start_drag(event.position.x)
elif _dragging:
_end_drag()
elif event is InputEventMouseMotion and _dragging:
_update_drag(event.position.x)
elif event is InputEventScreenTouch and event.index == 0:
if event.pressed:
_start_drag(event.position.x)
elif _dragging:
_end_drag()
elif event is InputEventScreenDrag and event.index == 0 and _dragging:
_update_drag(event.position.x)
func _start_drag(x: float) -> void:
if _snap_tween:
_snap_tween.kill()
_auto_timer.stop()
_dragging = true
_drag_start_pos = x
_drag_start_scroll = scroll_horizontal
func _update_drag(x: float) -> void:
var delta := _drag_start_pos - x
scroll_horizontal = clampi(_drag_start_scroll + int(delta), 0, _max_scroll())
_update_indicator()
func _end_drag() -> void:
_dragging = false
_snap_to_nearest_card()
func _max_scroll() -> int:
var bar := get_h_scroll_bar()
return maxi(0, int(bar.max_value - bar.page))
func _card_count() -> int:
return maxi(1, _track.get_child_count())
func _card_step() -> float:
var count := _card_count()
if count <= 1:
return 0.0
return float(_max_scroll()) / float(count - 1)
func _current_page() -> int:
var step := _card_step()
if step <= 0.0:
return 0
return clampi(roundi(scroll_horizontal / step), 0, _card_count() - 1)
func _snap_to_nearest_card() -> void:
_animate_to_page(_current_page())
func _animate_to_page(target_index: int) -> void:
target_index = clampi(target_index, 0, _card_count() - 1)
var step := _card_step()
var target_scroll := int(round(target_index * step))
if _snap_tween:
_snap_tween.kill()
_snap_tween = create_tween().set_trans(Tween.TRANS_CUBIC).set_ease(Tween.EASE_OUT)
_snap_tween.tween_method(_set_scroll_and_indicator, float(scroll_horizontal), float(target_scroll), SNAP_DURATION)
_snap_tween.finished.connect(_restart_auto_timer)
func _set_scroll_and_indicator(value: float) -> void:
scroll_horizontal = int(round(value))
_update_indicator()
func _update_indicator() -> void:
if _page_dots.is_empty():
return
var active_index := _current_page()
for i in _page_dots.size():
var dot: TextureRect = _page_dots[i]
dot.texture = TEX_ACTIVE if i == active_index else TEX_DEFAULT
if active_index != _last_reported_page:
_last_reported_page = active_index
page_changed.emit(active_index)
+1
View File
@@ -0,0 +1 @@
uid://c54ct7t1td21g
+187
View File
@@ -0,0 +1,187 @@
[gd_scene format=3 uid="uid://bnnq5eunh8o6j"]
[ext_resource type="Script" uid="uid://dc5dh15rrdc4" path="res://scenes/ui/battlepass_panel.gd" id="1_4dl3x"]
[ext_resource type="Script" uid="uid://c54ct7t1td21g" path="res://scenes/battlepass_slider.gd" id="2_t440c"]
[ext_resource type="Script" uid="uid://bwu41vcu5t8nd" path="res://scenes/ui/battlepass_ticket.gd" id="3_1jvp2"]
[ext_resource type="Shader" uid="uid://cjpl2gt2fc1h2" path="res://assets/shaders/rounded_border.gdshader" id="3_tf0vp"]
[ext_resource type="Texture2D" uid="uid://bwk0ftvkieg6a" path="res://assets/graphics/gui/lobby/battlepass_left.png" id="4_1jvp2"]
[ext_resource type="Texture2D" uid="uid://y0y2fqa6xml7" path="res://assets/graphics/gui/lobby/bar_default.svg" id="4_ypw31"]
[ext_resource type="Texture2D" uid="uid://b5qt2u2k23b5w" path="res://assets/graphics/gui/lobby/bar_active.svg" id="5_tf0vp"]
[ext_resource type="Shader" uid="uid://dmsw38nbm2val" path="res://assets/shaders/ticket_blur_dissolve.gdshader" id="6_jwc2v"]
[ext_resource type="Texture2D" uid="uid://ccnwto2rc8h6u" path="res://assets/graphics/gui/lobby/battlepass_right.png" id="9_qnxxy"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8vv3u"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_qnxxy"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_d13xu"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tf0vp"]
shader = ExtResource("3_tf0vp")
shader_parameter/rect_size = Vector2(270, 108)
shader_parameter/corner_radius = Vector4(20, 20, 20, 20)
shader_parameter/border_width = 3.0
shader_parameter/border_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1jvp2"]
shader = ExtResource("3_tf0vp")
shader_parameter/rect_size = Vector2(270, 108)
shader_parameter/corner_radius = Vector4(20, 20, 20, 20)
shader_parameter/border_width = 3.0
shader_parameter/border_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ypw31"]
shader = ExtResource("3_tf0vp")
shader_parameter/rect_size = Vector2(270, 108)
shader_parameter/corner_radius = Vector4(20, 20, 20, 20)
shader_parameter/border_width = 3.0
shader_parameter/border_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_n0nj0"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8vv3u"]
shader = ExtResource("6_jwc2v")
shader_parameter/blur_amount = 0.0
shader_parameter/blur_radius_px = 14.0
shader_parameter/rect_size = Vector2(100, 108)
shader_parameter/corner_radius = Vector4(35, 35, 12, 12)
shader_parameter/border_width = 3.0
shader_parameter/border_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_d13xu"]
shader = ExtResource("6_jwc2v")
shader_parameter/blur_amount = 0.0
shader_parameter/blur_radius_px = 14.0
shader_parameter/rect_size = Vector2(100, 108)
shader_parameter/corner_radius = Vector4(35, 35, 12, 12)
shader_parameter/border_width = 3.0
shader_parameter/border_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_n0nj0"]
shader = ExtResource("6_jwc2v")
shader_parameter/blur_amount = 0.0
shader_parameter/blur_radius_px = 14.0
shader_parameter/rect_size = Vector2(100, 108)
shader_parameter/corner_radius = Vector4(35, 35, 12, 12)
shader_parameter/border_width = 3.0
shader_parameter/border_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
[node name="BattlePassSlider" type="Panel" unique_id=1064439374]
custom_minimum_size = Vector2(367, 112)
theme_override_styles/panel = SubResource("StyleBoxEmpty_8vv3u")
script = ExtResource("1_4dl3x")
[node name="Content" type="Panel" parent="." unique_id=639821944]
custom_minimum_size = Vector2(0, 112)
layout_mode = 0
offset_right = 270.0
offset_bottom = 108.0
theme_override_styles/panel = SubResource("StyleBoxEmpty_qnxxy")
[node name="ScrollContainer" type="ScrollContainer" parent="Content" unique_id=1495632648]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_d13xu")
horizontal_scroll_mode = 3
vertical_scroll_mode = 3
script = ExtResource("2_t440c")
[node name="CardMargin" type="MarginContainer" parent="Content/ScrollContainer" unique_id=1204390870]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Content/ScrollContainer/CardMargin" unique_id=1504751594]
custom_minimum_size = Vector2(0, 112)
layout_mode = 2
[node name="CardBase1" type="TextureRect" parent="Content/ScrollContainer/CardMargin/HBoxContainer" unique_id=876602906]
material = SubResource("ShaderMaterial_tf0vp")
custom_minimum_size = Vector2(270, 108)
layout_mode = 2
texture = ExtResource("4_1jvp2")
expand_mode = 1
stretch_mode = 6
[node name="CardBase2" type="TextureRect" parent="Content/ScrollContainer/CardMargin/HBoxContainer" unique_id=1729572925]
material = SubResource("ShaderMaterial_1jvp2")
custom_minimum_size = Vector2(270, 108)
layout_mode = 2
texture = ExtResource("4_1jvp2")
expand_mode = 1
stretch_mode = 6
[node name="CardBase3" type="TextureRect" parent="Content/ScrollContainer/CardMargin/HBoxContainer" unique_id=1734371616]
material = SubResource("ShaderMaterial_ypw31")
custom_minimum_size = Vector2(270, 108)
layout_mode = 2
texture = ExtResource("4_1jvp2")
expand_mode = 1
stretch_mode = 6
[node name="PageIndicator" type="HBoxContainer" parent="Content" unique_id=874321806]
layout_mode = 0
offset_left = 13.0
offset_top = 90.0
offset_right = 259.0
offset_bottom = 99.0
theme_override_constants/separation = 3
[node name="Dot1" type="TextureRect" parent="Content/PageIndicator" unique_id=392540618]
custom_minimum_size = Vector2(80, 6)
layout_mode = 2
texture = ExtResource("5_tf0vp")
expand_mode = 1
[node name="Dot2" type="TextureRect" parent="Content/PageIndicator" unique_id=437177486]
custom_minimum_size = Vector2(80, 6)
layout_mode = 2
texture = ExtResource("4_ypw31")
expand_mode = 1
[node name="Dot3" type="TextureRect" parent="Content/PageIndicator" unique_id=314560320]
custom_minimum_size = Vector2(80, 6)
layout_mode = 2
texture = ExtResource("4_ypw31")
expand_mode = 1
[node name="Ticket" type="Panel" parent="." unique_id=1195576560]
clip_contents = true
custom_minimum_size = Vector2(0, 112)
layout_mode = 0
offset_left = 267.0
offset_right = 367.0
offset_bottom = 108.0
theme_override_styles/panel = SubResource("StyleBoxEmpty_n0nj0")
script = ExtResource("3_1jvp2")
[node name="Ticket1" type="TextureRect" parent="Ticket" unique_id=1639108074]
material = SubResource("ShaderMaterial_8vv3u")
layout_mode = 0
anchor_right = 1.0
anchor_bottom = 1.0
texture = ExtResource("9_qnxxy")
expand_mode = 1
stretch_mode = 5
[node name="Ticket2" type="TextureRect" parent="Ticket" unique_id=111676944]
visible = false
material = SubResource("ShaderMaterial_d13xu")
layout_mode = 0
anchor_right = 1.0
anchor_bottom = 1.0
texture = ExtResource("9_qnxxy")
expand_mode = 1
stretch_mode = 5
[node name="Ticket3" type="TextureRect" parent="Ticket" unique_id=1822173598]
visible = false
material = SubResource("ShaderMaterial_n0nj0")
layout_mode = 0
anchor_right = 1.0
anchor_bottom = 1.0
texture = ExtResource("9_qnxxy")
expand_mode = 1
stretch_mode = 5
+142 -1
View File
@@ -12,6 +12,8 @@ extends Control
@onready var avatar_display = %AvatarDisplay
@onready var lobby_settings_btn = %SettingsBtn
@onready var quit_btn = %QuitBtn
@onready var chat_toggle_btn = get_node_or_null("%BubbleBtn")
@onready var chat_panel_container = $MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel
# Main Menu 3D Preview
@onready var character_root = %CharacterRoot
@@ -158,6 +160,29 @@ var _friend_suggest_list: ItemList
# var server_option: OptionButton
# var server_ip_input: LineEdit
# =============================================================================
# Menu Button Animation (ROOM / PLAY hover + press juice)
# =============================================================================
@export_group("Menu Button Animation")
@export var menu_btn_hover_scale: float = 1.06
@export var menu_btn_press_scale: float = 0.94
@export var menu_btn_hover_duration: float = 0.15
@export var menu_btn_press_duration: float = 0.08
@export var menu_btn_release_duration: float = 0.2
@export var menu_btn_hover_trans: Tween.TransitionType = Tween.TRANS_BACK
@export var menu_btn_hover_ease: Tween.EaseType = Tween.EASE_OUT
@export var menu_btn_hover_brighten: float = 1.08
@export_group("Card Fan Idle Animation")
@export var card_fan_idle_enabled: bool = true
@export var card_fan_jump_height: float = 14.0
@export var card_fan_jump_duration: float = 0.35
@export var card_fan_jump_stagger: float = 0.15
@export var card_fan_cycle_pause: float = 14.0
var _button_tweens: Dictionary = {}
var _card_fan_tweens: Dictionary = {}
func _ready():
chat = LobbyChat.new(self)
@@ -182,7 +207,10 @@ func _ready():
# Initial UI update
_sync_room_profile_card()
# ROOM / PLAY button hover, press, and card-fan idle animation
_setup_menu_button_animations()
# Connect Social / Friend UI
var global_chat_tab_btn = get_node_or_null("%GlobalChatTabBtn")
if global_chat_tab_btn:
@@ -401,6 +429,119 @@ func _connect_slot_signals(slot: Control, i: int):
if right_btn:
right_btn.pressed.connect(func(): LobbyManager.cycle_character(1))
# =============================================================================
# Menu Button Animation (ROOM / PLAY)
# =============================================================================
func _setup_menu_button_animations() -> void:
for btn in [browse_rooms_btn, create_room_btn]:
if not btn:
continue
btn.pivot_offset = btn.size / 2.0
btn.mouse_entered.connect(_on_menu_btn_mouse_entered.bind(btn))
btn.mouse_exited.connect(_on_menu_btn_mouse_exited.bind(btn))
btn.button_down.connect(_on_menu_btn_down.bind(btn))
btn.button_up.connect(_on_menu_btn_up.bind(btn))
_start_card_fan_idle(get_node_or_null("MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/RoomBtnRoot"))
_start_card_fan_idle(get_node_or_null("MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/PlayBtnRoot"))
if chat_toggle_btn:
chat_toggle_btn.pressed.connect(_on_chat_toggle_pressed)
func _on_chat_toggle_pressed() -> void:
if chat_panel_container:
chat_panel_container.visible = not chat_panel_container.visible
func _kill_button_tween(btn: Control) -> void:
if _button_tweens.has(btn) and is_instance_valid(_button_tweens[btn]):
_button_tweens[btn].kill()
func _tween_button_scale(btn: Control, target_scale: float, duration: float, use_overshoot: bool = false) -> void:
_kill_button_tween(btn)
var tween := create_tween()
if use_overshoot:
tween.set_trans(menu_btn_hover_trans).set_ease(menu_btn_hover_ease)
else:
tween.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
tween.tween_property(btn, "scale", Vector2(target_scale, target_scale), duration)
_button_tweens[btn] = tween
func _on_menu_btn_mouse_entered(btn: Control) -> void:
if btn.disabled:
return
_tween_button_scale(btn, menu_btn_hover_scale, menu_btn_hover_duration, true)
btn.self_modulate = Color(menu_btn_hover_brighten, menu_btn_hover_brighten, menu_btn_hover_brighten, 1.0)
func _on_menu_btn_mouse_exited(btn: Control) -> void:
_tween_button_scale(btn, 1.0, menu_btn_release_duration)
btn.self_modulate = Color.WHITE
func _on_menu_btn_down(btn: Control) -> void:
_tween_button_scale(btn, menu_btn_press_scale, menu_btn_press_duration)
func _on_menu_btn_up(btn: Control) -> void:
var target := menu_btn_hover_scale if btn.get_global_rect().has_point(get_global_mouse_position()) else 1.0
_tween_button_scale(btn, target, menu_btn_release_duration, true)
func _start_card_fan_idle(root: Control) -> void:
if not root or not card_fan_idle_enabled:
return
# find_child (recursive) instead of a direct get_node_or_null so this still
# finds the cards even if they end up nested under a layout wrapper (e.g. a
# PanelContainer) instead of being direct children of root.
var cards: Array[Control] = []
for card_name in ["CardLeft", "CardRight"]:
var card := root.find_child(card_name, true, false) as Control
if card:
cards.append(card)
if cards.is_empty():
return
if _card_fan_tweens.has(root):
for old_tween in _card_fan_tweens[root]:
if is_instance_valid(old_tween):
old_tween.kill()
# Sequential "leapfrog" jump: each card jumps in turn, staggered by
# card_fan_jump_stagger, then the whole row pauses before looping.
var cycle_total: float = cards.size() * card_fan_jump_stagger + card_fan_cycle_pause
var tweens: Array[Tween] = []
for i in cards.size():
var card := cards[i]
var start_y := card.position.y
var lead_in: float = i * card_fan_jump_stagger
var trailing: float = cycle_total - lead_in - card_fan_jump_duration
var tween := create_tween().set_loops()
if lead_in > 0.0:
tween.tween_interval(lead_in)
tween.tween_property(card, "position:y", start_y - card_fan_jump_height, card_fan_jump_duration * 0.5).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
tween.tween_property(card, "position:y", start_y, card_fan_jump_duration * 0.5).set_trans(Tween.TRANS_BOUNCE).set_ease(Tween.EASE_OUT)
if trailing > 0.0:
tween.tween_interval(trailing)
tweens.append(tween)
_card_fan_tweens[root] = tweens
func _exit_tree() -> void:
for tween in _button_tweens.values():
if is_instance_valid(tween):
tween.kill()
for tweens in _card_fan_tweens.values():
for tween in tweens:
if is_instance_valid(tween):
tween.kill()
# =============================================================================
# Panel Management
# =============================================================================
+1493 -272
View File
@@ -12,45 +12,64 @@
[ext_resource type="AnimationLibrary" path="res://assets/characters/animations/animation-pack.res" id="5_animlib"]
[ext_resource type="FontFile" uid="uid://xnjx058n4tsw" path="res://assets/fonts/Nougat-ExtraBlack.ttf" id="5_pc087"]
[ext_resource type="Texture2D" uid="uid://brhn1dhp1gm13" path="res://assets/graphics/character_selection/sc_characters/sc_copper.png" id="10_dyhay"]
[ext_resource type="Texture2D" uid="uid://c8xwpkvvwa7a4" path="res://assets/graphics/gui/mainmenu/chat.png" id="12_dfnwm"]
[ext_resource type="Texture2D" uid="uid://dwb753gnca5wv" path="res://assets/graphics/gui/lobby/crown_profile.tres" id="10_jkgfa"]
[ext_resource type="Texture2D" uid="uid://b5pp08fke7ptd" path="res://assets/graphics/gui/lobby/gold.png" id="12_gufxi"]
[ext_resource type="Texture2D" uid="uid://c05mo12h5umgi" path="res://assets/graphics/gui/mainmenu/chat_emoji.png" id="13_0jb4q"]
[ext_resource type="Texture2D" uid="uid://d0ouvm3x8h42c" path="res://assets/graphics/gui/lobby/star.png" id="13_arjad"]
[ext_resource type="Texture2D" uid="uid://b2lyv0usa762v" path="res://assets/graphics/gui/lobby/edit_profile.tres" id="13_ph747"]
[ext_resource type="Texture2D" uid="uid://bt70g810ef6jj" path="res://assets/graphics/gui/lobby/curr_star.svg" id="13_twy5w"]
[ext_resource type="Theme" uid="uid://cxab3xxy00" path="res://assets/themes/GUI_Tekton.tres" id="14_2630d"]
[ext_resource type="FontFile" uid="uid://c2tryhyhlyb1u" path="res://assets/fonts/Supercell-Magic Regular.ttf" id="14_vwf6o"]
[ext_resource type="Texture2D" uid="uid://kflvrkha1jwy" path="res://assets/graphics/gui/mainmenu/chat_enter.png" id="15_iwi7x"]
[ext_resource type="Texture2D" uid="uid://duxo4w34d3ree" path="res://assets/graphics/gui/lobby/curr_star.tres" id="16_ixomp"]
[ext_resource type="Texture2D" uid="uid://dq3crtqml0k35" path="res://assets/graphics/gui/lobby/curr_gold.tres" id="17_8kv63"]
[ext_resource type="Texture2D" uid="uid://dq8ll26kexu3b" path="res://assets/graphics/gui/mainmenu/button_room.png" id="17_wjff0"]
[ext_resource type="Texture2D" uid="uid://bcgu0jku4ntcw" path="res://assets/graphics/gui/mainmenu/button_room_interact.png" id="18_0jb4q"]
[ext_resource type="PackedScene" uid="uid://bnnq5eunh8o6j" path="res://scenes/battlepass_slider.tscn" id="18_5jb2g"]
[ext_resource type="Texture2D" uid="uid://dllwxub5n4361" path="res://assets/graphics/gui/mainmenu/button_play.png" id="18_h1rib"]
[ext_resource type="Texture2D" uid="uid://d04v2xn8xmom" path="res://assets/graphics/gui/lobby/event_calendar.svg" id="18_olier"]
[ext_resource type="Texture2D" uid="uid://l03huy5c0vvy" path="res://assets/graphics/gui/lobby/profile.png" id="18_u7tfn"]
[ext_resource type="Texture2D" uid="uid://jted80o4uarv" path="res://assets/graphics/gui/lobby/leaderboards.png" id="19_2630d"]
[ext_resource type="Texture2D" uid="uid://bvugtpcgc2qkx" path="res://assets/graphics/gui/lobby/shop.png" id="20_835bk"]
[ext_resource type="Texture2D" uid="uid://b45naqdq1rfbf" path="res://assets/graphics/gui/lobby/bag.svg" id="19_5jb2g"]
[ext_resource type="Texture2D" uid="uid://dj1dt2noi1bl3" path="res://assets/graphics/gui/lobby/chat.svg" id="19_oysm8"]
[ext_resource type="Texture2D" uid="uid://b8bxf0eim4g4p" path="res://assets/graphics/gui/lobby/emoji.svg" id="20_4pkyx"]
[ext_resource type="Texture2D" uid="uid://bblx8fmv77m7h" path="res://assets/graphics/gui/lobby/chev.svg" id="20_rievh"]
[ext_resource type="Texture2D" uid="uid://cdupokfxuufpl" path="res://assets/graphics/gui/mainmenu/button_play_interact.png" id="20_vwf6o"]
[ext_resource type="Texture2D" uid="uid://6agwwbc1l4g3" path="res://assets/graphics/gui/play/selection_play0.png" id="21_h1rib"]
[ext_resource type="Texture2D" uid="uid://bmmajc7h7o4dg" path="res://assets/graphics/gui/lobby/dailylogin.png" id="21_ucbax"]
[ext_resource type="Texture2D" uid="uid://dv782w5t0xlcc" path="res://assets/graphics/gui/lobby/friends.png" id="22_1x1aw"]
[ext_resource type="Texture2D" uid="uid://cpy5lppf3ro02" path="res://assets/graphics/gui/play/selection_play1.png" id="22_kn4i6"]
[ext_resource type="Texture2D" uid="uid://b0ovmvcm8rt2n" path="res://assets/graphics/gui/play/selection_room0.png" id="23_3jc85"]
[ext_resource type="Texture2D" uid="uid://cs5lke40qve7y" path="res://assets/graphics/gui/mailbox/mailbox_icon.png" id="23_835bk"]
[ext_resource type="Texture2D" uid="uid://bqcxrfu2jlplr" path="res://assets/graphics/gui/lobby/settings.png" id="23_twy5w"]
[ext_resource type="Shader" uid="uid://bx46eyi72i6ak" path="res://setting_bar_shader.gdshader" id="23_8kv63"]
[ext_resource type="Texture2D" uid="uid://3p0sabd1og31" path="res://assets/graphics/gui/play/selection_room1.png" id="24_jhtcy"]
[ext_resource type="Texture2D" uid="uid://b7dp73xokujdb" path="res://assets/graphics/gui/lobby/question_circle.svg" id="24_ph747"]
[ext_resource type="Texture2D" uid="uid://bpco6lch7homj" path="res://assets/graphics/gui/play/bg.png" id="25_iwv4c"]
[ext_resource type="Texture2D" uid="uid://ci3nm26qx5vdo" path="res://assets/graphics/gui/lobby/shop_bar.svg" id="25_ixomp"]
[ext_resource type="Texture2D" uid="uid://dqwm7rou1fttt" path="res://assets/graphics/gui/lobby/badge_bar.svg" id="26_8kv63"]
[ext_resource type="Texture2D" uid="uid://chkt6c6tt7gdb" path="res://assets/graphics/gui/play/story.png" id="26_wpcbs"]
[ext_resource type="Texture2D" uid="uid://6oeuovfdxahu" path="res://assets/graphics/gui/play/story_dimmed.png" id="27_8tmsf"]
[ext_resource type="Texture2D" uid="uid://3kcp8qjd1vfm" path="res://assets/graphics/gui/play/stopngo.png" id="27_ierb3"]
[ext_resource type="Texture2D" uid="uid://btjm25hjxssbd" path="res://assets/graphics/gui/lobby/rank_bar.svg" id="27_y8bta"]
[ext_resource type="Texture2D" uid="uid://4nejhkohp70d" path="res://assets/graphics/gui/play/freemode.png" id="28_78rk6"]
[ext_resource type="Texture2D" uid="uid://bg7mca4i1fgup" path="res://assets/graphics/gui/lobby/community_bar.svg" id="28_st18m"]
[ext_resource type="Texture2D" uid="uid://b8dgaw0bk3x6f" path="res://assets/graphics/gui/play/Rank.png" id="29_6mek4"]
[ext_resource type="Texture2D" uid="uid://kmleuwyxmn0c" path="res://assets/graphics/gui/lobby/message_bar.svg" id="29_6yc8v"]
[ext_resource type="Texture2D" uid="uid://23tvis1trvfr" path="res://assets/graphics/gui/play/x.png" id="29_417c5"]
[ext_resource type="Texture2D" uid="uid://3tsnxh8xbxr5" path="res://assets/graphics/gui/play/stopngo_dimmed.png" id="29_gxh4y"]
[ext_resource type="Texture2D" uid="uid://blh0vhxpbiqip" path="res://assets/graphics/gui/play/stopngo_vertical.png" id="30_8ht5e"]
[ext_resource type="Texture2D" uid="uid://lks5ndwn3ppp" path="res://assets/graphics/gui/lobby/setting_bar.svg" id="30_yb58j"]
[ext_resource type="Texture2D" uid="uid://1lilep4qo3tc" path="res://assets/graphics/gui/play/freemode-dimmed.png" id="31_30fw8"]
[ext_resource type="Texture2D" uid="uid://6lopq2j3kmai" path="res://assets/graphics/gui/play/freemode_vertical.png" id="31_tuh25"]
[ext_resource type="PackedScene" uid="uid://c3v78hufajngu" path="res://scenes/lobby_sliders.tscn" id="32_8kv63"]
[ext_resource type="Texture2D" uid="uid://dxngyrdx5riab" path="res://assets/graphics/gui/play/room_list.png" id="32_8tmsf"]
[ext_resource type="Texture2D" uid="uid://dimb6edbhvbrm" path="res://assets/graphics/gui/play/refresh.png" id="33_gxh4y"]
[ext_resource type="Texture2D" uid="uid://cep023y0s7f0f" path="res://assets/graphics/gui/lobby/green_tile.png" id="33_yb58j"]
[ext_resource type="Texture2D" uid="uid://cniyw4aa1kc4n" path="res://assets/graphics/gui/play/stopngo_vertical_dimmed.png" id="34_7rn74"]
[ext_resource type="Texture2D" uid="uid://bupl61vxuub71" path="res://assets/graphics/gui/play/join.png" id="34_30fw8"]
[ext_resource type="Texture2D" uid="uid://dc0o5lcx1cq64" path="res://assets/graphics/gui/lobby/yellow_tile.png" id="34_oysm8"]
[ext_resource type="Texture2D" uid="uid://bbuxwuypygk38" path="res://assets/graphics/gui/play/freemode_vertical_dimmed.png" id="36_30el1"]
[ext_resource type="Texture2D" uid="uid://bjqxr7nt5n1i0" path="res://assets/graphics/gui/lobby/blue_tile.png" id="37_4pkyx"]
[ext_resource type="FontFile" uid="uid://dsqg0x5lnosou" path="res://assets/fonts/TektonDash2.ttf" id="38_87ggl"]
[ext_resource type="Texture2D" uid="uid://cic88doubsblr" path="res://assets/graphics/gui/lobby/red_tile.png" id="38_rievh"]
[ext_resource type="Texture2D" uid="uid://c2empktddd47l" path="res://assets/graphics/gui/lobby/info.svg" id="39_agxrn"]
[ext_resource type="Texture2D" uid="uid://bwu5ms5nsyy43" path="res://assets/graphics/gui/play/referesh_dimmed.png" id="39_s3vw1"]
[ext_resource type="Script" uid="uid://cas5sc40ampq1" path="res://scenes/ui/quest_list_tab.gd" id="40_agxrn"]
[ext_resource type="Texture2D" uid="uid://cb454spy2usoa" path="res://assets/graphics/gui/play/x_dimmed.png" id="41_7rn74"]
[ext_resource type="Texture2D" uid="uid://d4mt1q2fxkjy" path="res://assets/graphics/gui/play/join_dimmed.png" id="41_iwv5h"]
@@ -63,8 +82,13 @@ ambient_light_energy = 0.5
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_busoe"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jkgfa"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ph747"]
bg_color = Color(0.6, 0.6, 0.6, 0)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8mpuv"]
bg_color = Color(0.2784314, 0.8745098, 1, 1)
bg_color = Color(0.2784314, 0.8745098, 1, 0)
border_width_left = 3
border_width_top = 3
border_width_right = 3
@@ -75,37 +99,216 @@ corner_radius_top_right = 15
corner_radius_bottom_right = 15
corner_radius_bottom_left = 15
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_835bk"]
bg_color = Color(0.078431375, 0.6666667, 0.7921569, 1)
corner_radius_top_left = 10
corner_radius_top_right = 10
corner_radius_bottom_right = 10
corner_radius_bottom_left = 10
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ucbax"]
content_margin_top = 20.0
content_margin_right = 20.0
content_margin_bottom = 20.0
bg_color = Color(0.54509807, 0.54509807, 0.54509807, 0)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(1, 1, 1, 1)
corner_radius_top_left = 15
corner_radius_top_right = 15
corner_radius_bottom_right = 15
corner_radius_bottom_left = 15
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1x1aw"]
bg_color = Color(0.11764706, 0.11764706, 0.11764706, 0.42745098)
corner_radius_top_left = 10
corner_radius_top_right = 10
corner_radius_bottom_right = 10
corner_radius_bottom_left = 10
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ph747"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ixomp"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8kv63"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_twy5w"]
bg_color = Color(1, 1, 1, 1)
border_width_top = 2
border_width_bottom = 2
border_color = Color(1, 1, 1, 1)
corner_radius_top_left = 2
corner_radius_top_right = 2
corner_radius_bottom_right = 2
corner_radius_bottom_left = 2
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_y8bta"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gd4oi"]
bg_color = Color(0, 0, 0, 0.48235294)
border_color = Color(0.92941177, 0.91764706, 0.8862745, 1)
corner_radius_top_left = 3
corner_radius_top_right = 3
corner_radius_bottom_right = 3
corner_radius_bottom_left = 3
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kn4i6"]
bg_color = Color(0, 0, 0, 0.48235294)
border_width_left = 5
border_width_top = 5
border_width_right = 5
border_width_bottom = 5
border_color = Color(1, 1, 1, 1)
corner_radius_top_left = 10
corner_radius_top_right = 10
corner_radius_bottom_right = 10
corner_radius_bottom_left = 10
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_st18m"]
bg_color = Color(0.11764706, 0.11764706, 0.11764706, 0.5568628)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3jc85"]
bg_color = Color(0, 0, 0, 0.48235294)
border_width_left = 5
border_width_top = 5
border_width_right = 5
border_width_bottom = 5
border_color = Color(1, 1, 1, 1)
corner_radius_top_left = 10
corner_radius_top_right = 10
corner_radius_bottom_right = 10
corner_radius_bottom_left = 10
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6yc8v"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yb58j"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yf42k"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_v63ud"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fwqx0"]
bg_color = Color(0, 0, 0, 0.54901963)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mb33m"]
bg_color = Color(0, 0, 0, 0.54901963)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_agxrn"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4pkyx"]
bg_color = Color(0, 0, 0, 0.4)
corner_radius_top_left = 27
corner_radius_top_right = 27
corner_radius_bottom_right = 27
corner_radius_bottom_left = 27
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4pkyx"]
shader = ExtResource("23_8kv63")
shader_parameter/panel_size = Vector2(520, 34)
shader_parameter/corner_radius = 27.0
[sub_resource type="Gradient" id="Gradient_rievh"]
colors = PackedColorArray(0, 0, 0, 0.2, 0, 0, 0, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_olier"]
gradient = SubResource("Gradient_rievh")
width = 8
fill_to = Vector2(0, 1)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vfec7"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yf42k"]
bg_color = Color(1, 1, 1, 1)
corner_radius_top_left = 17
corner_radius_top_right = 17
corner_radius_bottom_right = 17
corner_radius_bottom_left = 17
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_v63ud"]
bg_color = Color(1, 1, 1, 0.12)
corner_radius_top_left = 17
corner_radius_top_right = 17
corner_radius_bottom_right = 17
corner_radius_bottom_left = 17
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_sy4be"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0nf8f"]
bg_color = Color(1, 1, 1, 1)
corner_radius_top_left = 17
corner_radius_top_right = 17
corner_radius_bottom_right = 17
corner_radius_bottom_left = 17
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rox41"]
bg_color = Color(1, 1, 1, 0.12)
corner_radius_top_left = 17
corner_radius_top_right = 17
corner_radius_bottom_right = 17
corner_radius_bottom_left = 17
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_f1hfh"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6ax38"]
bg_color = Color(1, 1, 1, 1)
corner_radius_top_left = 17
corner_radius_top_right = 17
corner_radius_bottom_right = 17
corner_radius_bottom_left = 17
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pril5"]
bg_color = Color(1, 1, 1, 0.12)
corner_radius_top_left = 17
corner_radius_top_right = 17
corner_radius_bottom_right = 17
corner_radius_bottom_left = 17
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5jb2g"]
bg_color = Color(0, 0, 0, 0.4)
corner_radius_top_left = 26
corner_radius_top_right = 26
corner_radius_bottom_right = 26
corner_radius_bottom_left = 26
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rievh"]
shader = ExtResource("23_8kv63")
shader_parameter/panel_size = Vector2(520, 149)
shader_parameter/corner_radius = 26.0
[sub_resource type="Gradient" id="Gradient_s0n6j"]
colors = PackedColorArray(0, 0, 0, 0.2, 0, 0, 0, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_87ggl"]
gradient = SubResource("Gradient_s0n6j")
width = 8
fill_to = Vector2(0, 1)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_l7nca"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_s0n6j"]
bg_color = Color(1, 1, 1, 1)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_87ggl"]
bg_color = Color(0.85, 0.9, 0.95, 1)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_agxrn"]
bg_color = Color(0.95, 0.97, 1, 1)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rievh"]
bg_color = Color(0, 0, 0, 0.3764706)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_olier"]
bg_color = Color(0, 0, 0, 0.3764706)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jhtcy"]
bg_color = Color(0.6, 0.6, 0.6, 0)
@@ -114,12 +317,151 @@ bg_color = Color(0.6, 0.6, 0.6, 0)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dfnwm"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_87ggl"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_l7nca"]
bg_color = Color(0, 0, 0, 0.4)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vfec7"]
bg_color = Color(0, 0, 0, 0.4)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_sy4be"]
bg_color = Color(0, 0, 0, 0.6)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_f1hfh"]
bg_color = Color(0, 0, 0, 0.5)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_0nf8f"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rox41"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6ax38"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jkoci"]
bg_color = Color(0, 0, 0, 0.15)
corner_radius_top_left = 18
corner_radius_top_right = 18
corner_radius_bottom_right = 18
corner_radius_bottom_left = 18
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3y5sy"]
bg_color = Color(1, 1, 1, 0.15)
corner_radius_top_left = 18
corner_radius_top_right = 18
corner_radius_bottom_right = 18
corner_radius_bottom_left = 18
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_oysm8"]
bg_color = Color(0.6, 0.6, 0.6, 0)
corner_radius_top_left = 8
corner_radius_top_right = 8
corner_radius_bottom_right = 16
corner_radius_bottom_left = 8
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ixomp"]
shader = ExtResource("23_8kv63")
shader_parameter/panel_size = Vector2(550, 64)
shader_parameter/corner_radius = 16.0
[sub_resource type="Gradient" id="Gradient_4pkyx"]
colors = PackedColorArray(0.16862746, 0, 0.6, 0, 0.16862746, 0, 0.6, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_rievh"]
gradient = SubResource("Gradient_4pkyx")
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_835bk"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ucbax"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1x1aw"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_pril5"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wqxeh"]
bg_color = Color(1, 1, 1, 1)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(1, 1, 1, 1)
corner_radius_top_left = 2
corner_radius_top_right = 2
corner_radius_bottom_right = 2
corner_radius_bottom_left = 2
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_do6di"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_do6di"]
bg_color = Color(0, 0, 0, 0.4509804)
corner_radius_top_left = 10
corner_radius_top_right = 10
corner_radius_bottom_right = 10
corner_radius_bottom_left = 10
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jkoci"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_os6ns"]
bg_color = Color(1, 1, 1, 1)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_b6wif"]
bg_color = Color(1, 1, 1, 0.12156863)
corner_radius_top_left = 13
corner_radius_top_right = 13
corner_radius_bottom_right = 13
corner_radius_bottom_left = 13
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_uovpt"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3y5sy"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_fwqx0"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8onxx"]
bg_color = Color(1, 1, 1, 1)
corner_radius_top_left = 13
corner_radius_top_right = 13
corner_radius_bottom_right = 13
corner_radius_bottom_left = 13
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_15eno"]
bg_color = Color(1, 1, 1, 0.12156863)
corner_radius_top_left = 13
corner_radius_top_right = 13
corner_radius_bottom_right = 13
corner_radius_bottom_left = 13
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4pkyx"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rievh"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_olier"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_oysm8"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_5jb2g"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_s0n6j"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_50md7"]
texture = ExtResource("25_iwv4c")
@@ -194,6 +536,8 @@ grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("2_theme")
script = ExtResource("1_lp6xi")
metadata/_edit_horizontal_guides_ = [35.0, 733.0]
metadata/_edit_vertical_guides_ = [35.0, 1331.0]
[node name="Background3" type="ColorRect" parent="." unique_id=245238082]
visible = false
@@ -303,48 +647,78 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 30
theme_override_constants/margin_top = 30
theme_override_constants/margin_right = 30
theme_override_constants/margin_bottom = 30
theme_override_constants/margin_left = 35
theme_override_constants/margin_top = 35
theme_override_constants/margin_right = 35
theme_override_constants/margin_bottom = 35
[node name="MainHBox" type="HBoxContainer" parent="MainMenuPanel/MainMargin" unique_id=892534882]
layout_mode = 2
theme_override_constants/separation = 16
[node name="LeftCol" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox" unique_id=53823485]
custom_minimum_size = Vector2(350, 0)
custom_minimum_size = Vector2(207, 0)
layout_mode = 2
theme_override_constants/separation = 8
[node name="HBoxContainer2" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=473798164]
layout_mode = 2
[node name="ProfileCard" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2" unique_id=5938459]
clip_contents = true
custom_minimum_size = Vector2(0, 130)
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxEmpty_busoe")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard" unique_id=1195708144]
layout_mode = 2
theme_override_constants/margin_left = 20
theme_override_constants/margin_right = 20
size_flags_vertical = 4
[node name="HBox" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer" unique_id=58934509]
custom_minimum_size = Vector2(448, 100)
layout_mode = 2
theme_override_constants/separation = 12
size_flags_vertical = 4
theme_override_constants/separation = 8
[node name="MainProfileBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox" unique_id=89234859]
unique_name_in_owner = true
[node name="Panel2" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox" unique_id=384190896]
custom_minimum_size = Vector2(100, 100)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_jkgfa")
[node name="Crown" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel2" unique_id=1182974540]
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_top = -28.0
offset_bottom = 6.0
grow_horizontal = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_ph747")
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel2/Crown" unique_id=244556470]
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -20.5
offset_right = 20.5
offset_bottom = 31.0
grow_horizontal = 2
texture = ExtResource("10_jkgfa")
expand_mode = 1
[node name="MainProfileBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel2" unique_id=89234859]
unique_name_in_owner = true
custom_minimum_size = Vector2(100, 100)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_vertical = 4
flat = true
expand_icon = true
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/MainProfileBtn" unique_id=2112174468]
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel2/MainProfileBtn" unique_id=2112174468]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -353,7 +727,19 @@ grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_8mpuv")
[node name="AvatarDisplay" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/MainProfileBtn" unique_id=593485890]
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel2/MainProfileBtn/Panel" unique_id=981680637]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(0.87, 0.87)
pivot_offset = Vector2(50, 50)
theme_override_styles/panel = SubResource("StyleBoxFlat_835bk")
metadata/_edit_use_anchors_ = true
[node name="AvatarDisplay" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel2/MainProfileBtn/Panel" unique_id=593485890]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 15
@@ -361,16 +747,55 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(0.88, 0.88)
pivot_offset = Vector2(50, 50)
texture = ExtResource("10_dyhay")
expand_mode = 1
stretch_mode = 5
[node name="VBoxContainer" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox" unique_id=598345789]
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox" unique_id=95033853]
layout_mode = 2
size_flags_horizontal = 3
alignment = 1
theme_override_styles/panel = SubResource("StyleBoxFlat_ucbax")
[node name="Username" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer" unique_id=50934858]
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel" unique_id=887191722]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 6.0
offset_top = 6.0
offset_right = -6.0
offset_bottom = -6.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset = Vector2(50, 50)
pivot_offset_ratio = Vector2(50, 50)
theme_override_styles/panel = SubResource("StyleBoxFlat_1x1aw")
metadata/_edit_use_anchors_ = true
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel" unique_id=814833769]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
rotation = -0.00042401726
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="ProfileCard" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer" unique_id=1124531167]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
[node name="HBoxContainer2" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard" unique_id=2125411101]
layout_mode = 2
[node name="Username" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer2" unique_id=50934858]
unique_name_in_owner = true
layout_mode = 2
theme = ExtResource("2_theme")
@@ -378,230 +803,662 @@ theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 24
text = "USERNAME"
[node name="Subtitle" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer" unique_id=5948395]
[node name="VSeparator" type="VSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer2" unique_id=1291684476]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 0
theme_override_styles/separator = SubResource("StyleBoxEmpty_ph747")
[node name="Panel" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer2" unique_id=1669254581]
custom_minimum_size = Vector2(18, 18)
layout_mode = 2
size_flags_vertical = 4
theme_override_styles/normal = SubResource("StyleBoxEmpty_ixomp")
[node name="TextureButton" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer2/Panel" unique_id=1316337810]
custom_minimum_size = Vector2(18, 18)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 4
texture = ExtResource("13_ph747")
expand_mode = 1
[node name="HSeparator3" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard" unique_id=631156959]
layout_mode = 2
size_flags_vertical = 0
theme_override_constants/separation = 0
theme_override_styles/separator = SubResource("StyleBoxEmpty_8kv63")
[node name="HSeparator" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard" unique_id=1789932398]
clip_contents = true
layout_mode = 2
size_flags_vertical = 4
theme_override_constants/separation = 4
theme_override_styles/separator = SubResource("StyleBoxFlat_twy5w")
[node name="HSeparator2" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard" unique_id=817356678]
layout_mode = 2
size_flags_vertical = 0
theme_override_constants/separation = 0
theme_override_styles/separator = SubResource("StyleBoxEmpty_y8bta")
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard" unique_id=331071595]
layout_mode = 2
size_flags_vertical = 3
[node name="Panel2" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer" unique_id=1514999060]
visible = false
custom_minimum_size = Vector2(40, 20)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_gd4oi")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel2" unique_id=2040127486]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel2/MarginContainer" unique_id=108285540]
layout_mode = 2
size_flags_vertical = 4
[node name="Panel" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel2/MarginContainer/HBoxContainer" unique_id=1271756238]
custom_minimum_size = Vector2(28, 28)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel2/MarginContainer/HBoxContainer/Panel" unique_id=1770079891]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("13_twy5w")
expand_mode = 1
[node name="Label" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel2/MarginContainer/HBoxContainer" unique_id=1184388330]
visible = false
layout_mode = 2
size_flags_horizontal = 3
text = "0000000"
horizontal_alignment = 2
vertical_alignment = 1
[node name="StarLabel" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel2/MarginContainer/HBoxContainer" unique_id=948509]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 18
text = "0"
horizontal_alignment = 2
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer" unique_id=113826609]
visible = false
custom_minimum_size = Vector2(80, 20)
layout_mode = 2
size_flags_horizontal = 8
theme_override_styles/panel = SubResource("StyleBoxFlat_gd4oi")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel" unique_id=2062391446]
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 = 3
theme_override_constants/margin_top = 3
theme_override_constants/margin_right = 6
theme_override_constants/margin_bottom = 3
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel/MarginContainer" unique_id=1826509078]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel/MarginContainer/HBoxContainer" unique_id=1462222702]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 4
texture = ExtResource("12_gufxi")
[node name="Label" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel/MarginContainer/HBoxContainer" unique_id=312597909]
visible = false
layout_mode = 2
size_flags_horizontal = 3
text = "0000000"
horizontal_alignment = 2
vertical_alignment = 1
[node name="GoldLabel" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/Panel/MarginContainer/HBoxContainer" unique_id=94850]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 18
text = "0"
horizontal_alignment = 2
[node name="MarginContainer2" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer" unique_id=289273153]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 13
[node name="curr_star" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer2" unique_id=442904116]
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_st18m")
[node name="MarginContainer2" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer2/curr_star" unique_id=812952188]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_right = 5
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer2/curr_star/MarginContainer2" unique_id=863776061]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_6yc8v")
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer2/curr_star/MarginContainer2/Panel" unique_id=476579988]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="icon" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer2/curr_star/MarginContainer2/Panel/HBoxContainer" unique_id=1857907027]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer2/curr_star/MarginContainer2/Panel/HBoxContainer/icon" unique_id=1890970008]
custom_minimum_size = Vector2(28, 28)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 0.5
offset_top = -1.1
offset_right = 0.5
offset_bottom = -1.1000004
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(1.1, 1.1)
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("16_ixomp")
expand_mode = 1
[node name="StarLabel" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer2/curr_star/MarginContainer2/Panel/HBoxContainer" unique_id=1885199303]
layout_mode = 2
size_flags_horizontal = 10
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 18
text = "0"
horizontal_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer2/curr_star/MarginContainer2/Panel" unique_id=1722932535]
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 4.0
offset_top = -0.5
offset_right = 25.0
offset_bottom = 0.5
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 3
theme_override_constants/margin_top = 3
theme_override_constants/margin_right = 3
theme_override_constants/margin_bottom = 3
[node name="VSeparator" type="VSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer" unique_id=2040409119]
layout_mode = 2
theme_override_constants/separation = 20
theme_override_styles/separator = SubResource("StyleBoxEmpty_yb58j")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer" unique_id=1921432898]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 13
[node name="curr_star" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer" unique_id=872102647]
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_st18m")
[node name="MarginContainer2" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer/curr_star" unique_id=720374599]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_right = 5
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer/curr_star/MarginContainer2" unique_id=1403218261]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_6yc8v")
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer/curr_star/MarginContainer2/Panel" unique_id=2059872823]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="icon" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer/curr_star/MarginContainer2/Panel/HBoxContainer" unique_id=933100210]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer/curr_star/MarginContainer2/Panel/HBoxContainer/icon" unique_id=30722077]
custom_minimum_size = Vector2(28, 28)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 0.5
offset_top = -1.1
offset_right = 0.5
offset_bottom = -1.1000004
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(1.1, 1.1)
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("17_8kv63")
expand_mode = 1
[node name="StarLabel" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer/curr_star/MarginContainer2/Panel/HBoxContainer" unique_id=227792042]
layout_mode = 2
size_flags_horizontal = 10
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 18
text = "0"
horizontal_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard/HBoxContainer/MarginContainer/curr_star/MarginContainer2/Panel" unique_id=1503179775]
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 4.0
offset_top = -0.5
offset_right = 25.0
offset_bottom = 0.5
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 3
theme_override_constants/margin_top = 3
theme_override_constants/margin_right = 3
theme_override_constants/margin_bottom = 3
[node name="Subtitle" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/Panel/Panel/MarginContainer/ProfileCard" unique_id=5948395]
unique_name_in_owner = true
visible = false
layout_mode = 2
theme_override_colors/font_color = Color(0.53, 0.53, 0.53, 1)
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 14
text = "EU SERVER"
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer" unique_id=331071595]
layout_mode = 2
theme_override_constants/separation = 6
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer" unique_id=113826609]
custom_minimum_size = Vector2(80, 30)
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_gd4oi")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel" unique_id=2062391446]
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 = 3
theme_override_constants/margin_top = 3
theme_override_constants/margin_right = 6
theme_override_constants/margin_bottom = 3
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel/MarginContainer" unique_id=1826509078]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel/MarginContainer/HBoxContainer" unique_id=1462222702]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 4
texture = ExtResource("12_gufxi")
[node name="Label" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel/MarginContainer/HBoxContainer" unique_id=312597909]
visible = false
layout_mode = 2
size_flags_horizontal = 3
text = "0000000"
horizontal_alignment = 2
vertical_alignment = 1
[node name="GoldLabel" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel/MarginContainer/HBoxContainer" unique_id=94850]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 18
text = "0"
horizontal_alignment = 2
[node name="Panel2" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer" unique_id=1514999060]
custom_minimum_size = Vector2(80, 30)
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_gd4oi")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel2" unique_id=2040127486]
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 = 3
theme_override_constants/margin_top = 3
theme_override_constants/margin_right = 6
theme_override_constants/margin_bottom = 3
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel2/MarginContainer" unique_id=108285540]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel2/MarginContainer/HBoxContainer" unique_id=1770079891]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 4
texture = ExtResource("13_arjad")
[node name="Label" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel2/MarginContainer/HBoxContainer" unique_id=1184388330]
visible = false
layout_mode = 2
size_flags_horizontal = 3
text = "0000000"
horizontal_alignment = 2
vertical_alignment = 1
[node name="StarLabel" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2/ProfileCard/MarginContainer/HBox/VBoxContainer/HBoxContainer/Panel2/MarginContainer/HBoxContainer" unique_id=948509]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 18
text = "0"
horizontal_alignment = 2
[node name="Control" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer2" unique_id=177944371]
visible = false
custom_minimum_size = Vector2(50, 0)
layout_direction = 3
layout_mode = 2
[node name="SpacerProfile" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=58943589]
custom_minimum_size = Vector2(0, 8)
[node name="HSeparator2" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=2047650361]
layout_mode = 2
theme_override_constants/separation = 10
theme_override_styles/separator = SubResource("StyleBoxEmpty_yf42k")
[node name="SpacerMiddle" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=984509]
[node name="BattlePass" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=1064439374 instance=ExtResource("18_5jb2g")]
layout_mode = 2
size_flags_vertical = 3
size_flags_horizontal = 0
theme_override_styles/panel = SubResource("StyleBoxEmpty_v63ud")
[node name="ChatPanel" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=948590]
custom_minimum_size = Vector2(520, 260)
[node name="HSeparator3" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=1331729522]
layout_mode = 2
theme_override_constants/separation = 14
theme_override_styles/separator = SubResource("StyleBoxEmpty_yf42k")
[node name="VBoxContainer" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=2050468161]
custom_minimum_size = Vector2(80, 0)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 4
[node name="Events" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/VBoxContainer" unique_id=1942930509]
custom_minimum_size = Vector2(67, 67)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 4
theme_override_styles/panel = SubResource("StyleBoxFlat_fwqx0")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/VBoxContainer/Events" unique_id=73447453]
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 = 13
theme_override_constants/margin_top = 13
theme_override_constants/margin_right = 13
theme_override_constants/margin_bottom = 13
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/VBoxContainer/Events/MarginContainer" unique_id=1725027124]
layout_mode = 2
texture = ExtResource("18_olier")
expand_mode = 1
stretch_mode = 5
[node name="HSeparator3" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/VBoxContainer" unique_id=188784548]
layout_mode = 2
theme_override_constants/separation = 6
theme_override_styles/separator = SubResource("StyleBoxEmpty_yf42k")
[node name="Inventory" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/VBoxContainer" unique_id=776230915]
custom_minimum_size = Vector2(67, 67)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 4
theme_override_styles/panel = SubResource("StyleBoxFlat_mb33m")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/VBoxContainer/Inventory" unique_id=103420172]
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 = 13
theme_override_constants/margin_top = 13
theme_override_constants/margin_right = 13
theme_override_constants/margin_bottom = 13
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/VBoxContainer/Inventory/MarginContainer" unique_id=1908625726]
layout_mode = 2
texture = ExtResource("19_5jb2g")
expand_mode = 1
stretch_mode = 5
[node name="HSeparator4" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=524180060]
layout_mode = 2
theme_override_constants/separation = 14
theme_override_styles/separator = SubResource("StyleBoxEmpty_yf42k")
[node name="Control" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=1092740754]
layout_mode = 2
size_flags_vertical = 8
[node name="ChatPanel" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control" unique_id=948590]
custom_minimum_size = Vector2(400, 197)
layout_mode = 0
offset_top = 4.0
offset_right = 400.0
offset_bottom = 201.0
size_flags_horizontal = 0
size_flags_vertical = 8
theme = ExtResource("14_2630d")
theme_override_styles/panel = SubResource("StyleBoxFlat_kn4i6")
theme_override_styles/panel = SubResource("StyleBoxEmpty_agxrn")
[node name="VBoxContainer" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel" unique_id=459039]
[node name="VBoxContainer" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel" unique_id=459039]
layout_mode = 2
theme_override_constants/separation = 10
[node name="TabsBackground" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer" unique_id=1292343209]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_4pkyx")
[node name="GradientOverlay" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/TabsBackground" unique_id=484114092]
material = SubResource("ShaderMaterial_4pkyx")
layout_mode = 2
mouse_filter = 2
texture = SubResource("GradientTexture2D_olier")
expand_mode = 1
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/TabsBackground" unique_id=1189440913]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/VBoxContainer" unique_id=1189440913]
layout_mode = 2
theme_override_constants/margin_left = 7
theme_override_constants/margin_top = 7
theme_override_constants/margin_right = 7
[node name="ChatTabsContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/VBoxContainer/MarginContainer" unique_id=459040]
[node name="ChatTabsContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/TabsBackground/MarginContainer" unique_id=459040]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 4
[node name="GlobalChatTabBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/VBoxContainer/MarginContainer/ChatTabsContainer" unique_id=439566196]
[node name="GlobalChatTabBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/TabsBackground/MarginContainer/ChatTabsContainer" unique_id=439566196]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 34)
layout_mode = 2
size_flags_horizontal = 3
text = "Global"
theme_override_colors/font_color = Color(1, 1, 1, 0.85)
theme_override_colors/font_pressed_color = Color(0.08, 0.14, 0.24, 1)
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 16
theme_override_styles/normal = SubResource("StyleBoxEmpty_vfec7")
theme_override_styles/pressed = SubResource("StyleBoxFlat_yf42k")
theme_override_styles/hover = SubResource("StyleBoxFlat_v63ud")
toggle_mode = true
button_pressed = true
text = "WORLD"
[node name="DMTabTemplate" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/VBoxContainer/MarginContainer/ChatTabsContainer" unique_id=123456789]
[node name="ServerChatTabBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/TabsBackground/MarginContainer/ChatTabsContainer" unique_id=1431581913]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 34)
layout_mode = 2
size_flags_horizontal = 3
theme_override_colors/font_color = Color(1, 1, 1, 0.85)
theme_override_colors/font_pressed_color = Color(0.08, 0.14, 0.24, 1)
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 16
theme_override_styles/normal = SubResource("StyleBoxEmpty_sy4be")
theme_override_styles/pressed = SubResource("StyleBoxFlat_0nf8f")
theme_override_styles/hover = SubResource("StyleBoxFlat_rox41")
toggle_mode = true
text = "SERVER"
[node name="DMTabTemplate" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/TabsBackground/MarginContainer/ChatTabsContainer" unique_id=123456789]
unique_name_in_owner = true
visible = false
layout_mode = 2
size_flags_horizontal = 3
[node name="DMTabBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/VBoxContainer/MarginContainer/ChatTabsContainer/DMTabTemplate" unique_id=123456780]
[node name="DMTabBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/TabsBackground/MarginContainer/ChatTabsContainer/DMTabTemplate" unique_id=123456780]
custom_minimum_size = Vector2(0, 34)
layout_mode = 2
size_flags_horizontal = 3
theme_override_colors/font_color = Color(1, 1, 1, 0.85)
theme_override_colors/font_pressed_color = Color(0.08, 0.14, 0.24, 1)
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 16
theme_override_styles/normal = SubResource("StyleBoxEmpty_f1hfh")
theme_override_styles/pressed = SubResource("StyleBoxFlat_6ax38")
theme_override_styles/hover = SubResource("StyleBoxFlat_pril5")
toggle_mode = true
text = "FriendName"
[node name="DMTabCloseBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/VBoxContainer/MarginContainer/ChatTabsContainer/DMTabTemplate" unique_id=123456781]
[node name="DMTabCloseBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/TabsBackground/MarginContainer/ChatTabsContainer/DMTabTemplate" unique_id=123456781]
layout_mode = 2
theme_override_colors/font_color = Color(0.8, 0.2, 0.2, 1)
text = " X "
[node name="GlobalChat" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/VBoxContainer" unique_id=945890]
[node name="MessagePanel" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer" unique_id=495737699]
layout_mode = 2
size_flags_vertical = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_5jb2g")
[node name="GradientOverlay" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/MessagePanel" unique_id=334451362]
material = SubResource("ShaderMaterial_rievh")
layout_mode = 2
mouse_filter = 2
texture = SubResource("GradientTexture2D_87ggl")
expand_mode = 1
[node name="GlobalChat" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/MessagePanel" unique_id=945890]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 6
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
theme_override_constants/margin_left = 18
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 18
theme_override_constants/margin_bottom = 16
[node name="RichTextLabel" type="RichTextLabel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/VBoxContainer/GlobalChat" unique_id=1730680016]
[node name="RichTextLabel" type="RichTextLabel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/VBoxContainer/MessagePanel/GlobalChat" unique_id=1730680016]
unique_name_in_owner = true
layout_mode = 2
theme_override_colors/default_color = Color(1, 1, 1, 1)
theme_override_fonts/normal_font = ExtResource("14_vwf6o")
theme_override_fonts/bold_font = ExtResource("14_vwf6o")
theme_override_font_sizes/normal_font_size = 14
theme_override_font_sizes/bold_font_size = 15
bbcode_enabled = true
scroll_following = true
[node name="FriendSuggestPanel" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel" unique_id=987654321]
[node name="FriendSuggestPanel" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel" unique_id=987654321]
unique_name_in_owner = true
visible = false
layout_mode = 2
[node name="FriendSuggestList" type="ItemList" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/ChatPanel/FriendSuggestPanel" unique_id=987654320]
[node name="FriendSuggestList" type="ItemList" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/FriendSuggestPanel" unique_id=987654320]
unique_name_in_owner = true
layout_mode = 2
allow_reselect = true
auto_height = true
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol" unique_id=459038]
clip_contents = true
[node name="TailOverlay" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel" unique_id=1037808647]
layout_mode = 2
mouse_filter = 2
[node name="ChevIcon" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/ChatPanel/TailOverlay" unique_id=1489474671]
layout_mode = 1
anchors_preset = 2
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 18.0
offset_top = 5.0
offset_right = 40.0
offset_bottom = 17.0
grow_vertical = 0
scale = Vector2(0.8, 0.8)
mouse_filter = 2
texture = ExtResource("20_rievh")
expand_mode = 1
stretch_mode = 5
[node name="HSeparator" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control" unique_id=1035778803]
layout_mode = 0
offset_top = 205.0
offset_right = 448.0
offset_bottom = 217.0
theme_override_constants/separation = 12
theme_override_styles/separator = SubResource("StyleBoxEmpty_l7nca")
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control" unique_id=459038]
clip_contents = true
custom_minimum_size = Vector2(400, 0)
layout_mode = 0
offset_top = 221.0
offset_right = 400.0
offset_bottom = 276.0
size_flags_horizontal = 0
size_flags_vertical = 8
theme_override_constants/separation = 8
[node name="QuitBtn2" type="TextureButton" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer" unique_id=1520754242]
[node name="BubbleBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer" unique_id=850962556]
unique_name_in_owner = true
custom_minimum_size = Vector2(40, 40)
custom_minimum_size = Vector2(55, 55)
layout_mode = 2
theme = ExtResource("2_theme")
texture_normal = ExtResource("12_dfnwm")
size_flags_horizontal = 0
size_flags_vertical = 4
theme_override_styles/normal = SubResource("StyleBoxFlat_s0n6j")
theme_override_styles/pressed = SubResource("StyleBoxFlat_87ggl")
theme_override_styles/hover = SubResource("StyleBoxFlat_agxrn")
text = ""
[node name="Control" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer" unique_id=59880168]
custom_minimum_size = Vector2(0, 70)
[node name="Icon" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/BubbleBtn" unique_id=1890525601]
modulate = Color(0.08, 0.16, 0.32, 1)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -13.0
offset_top = -13.0
offset_right = 13.0
offset_bottom = 13.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("19_oysm8")
expand_mode = 1
stretch_mode = 5
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer" unique_id=2123634957]
visible = false
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_3jc85")
theme_override_styles/panel = SubResource("StyleBoxFlat_rievh")
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer/Control" unique_id=1328089782]
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel" unique_id=1015348738]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -27.5
offset_bottom = 27.5
grow_horizontal = 2
grow_vertical = 2
[node name="Button" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel/HBoxContainer" unique_id=840720163]
custom_minimum_size = Vector2(55, 55)
layout_mode = 2
size_flags_vertical = 4
theme_override_styles/normal = SubResource("StyleBoxFlat_olier")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel/HBoxContainer/Button" unique_id=1824281772]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="QuitBtn" type="TextureButton" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer/Control/HBoxContainer" unique_id=738138485]
unique_name_in_owner = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel/HBoxContainer/Button/MarginContainer" unique_id=523485444]
layout_mode = 2
texture_normal = ExtResource("13_0jb4q")
texture = ExtResource("20_4pkyx")
expand_mode = 1
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer/Control/HBoxContainer" unique_id=628941879]
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel/HBoxContainer" unique_id=448545432]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 5
size_flags_vertical = 4
theme_override_constants/margin_left = 10
[node name="ChatInput" type="LineEdit" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer/Control/HBoxContainer/MarginContainer" unique_id=1346390421]
unique_name_in_owner = true
[node name="ChatInput" type="LineEdit" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel/HBoxContainer/MarginContainer" unique_id=1315081387]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_fonts/font = ExtResource("14_vwf6o")
theme_override_font_sizes/font_size = 16
theme_override_styles/normal = SubResource("StyleBoxFlat_jhtcy")
@@ -609,12 +1466,110 @@ theme_override_styles/read_only = SubResource("StyleBoxEmpty_iulku")
theme_override_styles/focus = SubResource("StyleBoxEmpty_dfnwm")
placeholder_text = " type to chat"
[node name="SendBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/HBoxContainer/Control/HBoxContainer" unique_id=1491048704]
unique_name_in_owner = true
[node name="Button2" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel/HBoxContainer" unique_id=1728884896]
custom_minimum_size = Vector2(64, 55)
layout_mode = 2
theme_override_styles/normal = SubResource("StyleBoxEmpty_87ggl")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel/HBoxContainer/Button2" unique_id=1324567722]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -29.0
offset_top = -29.0
offset_right = 29.0
offset_bottom = 29.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 10
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 10
theme_override_constants/margin_bottom = 10
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/Panel/HBoxContainer/Button2/MarginContainer" unique_id=569120138]
layout_mode = 2
texture = ExtResource("15_iwi7x")
[node name="InputBar" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer" unique_id=59880168]
custom_minimum_size = Vector2(0, 55)
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_l7nca")
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/InputBar" unique_id=1328089782]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
theme_override_constants/separation = 8
[node name="EmojiBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/InputBar/HBoxContainer" unique_id=524485525]
custom_minimum_size = Vector2(55, 55)
layout_mode = 2
theme_override_styles/normal = SubResource("StyleBoxFlat_vfec7")
theme_override_styles/pressed = SubResource("StyleBoxFlat_sy4be")
theme_override_styles/hover = SubResource("StyleBoxFlat_f1hfh")
[node name="Icon" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/InputBar/HBoxContainer/EmojiBtn" unique_id=363959800]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -11.0
offset_top = -11.0
offset_right = 11.0
offset_bottom = 11.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("20_4pkyx")
expand_mode = 1
stretch_mode = 5
[node name="QuitBtn" type="TextureButton" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/InputBar/HBoxContainer" unique_id=738138485]
unique_name_in_owner = true
visible = false
layout_mode = 2
texture_normal = ExtResource("13_0jb4q")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/InputBar/HBoxContainer" unique_id=628941879]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 5
[node name="ChatInput" type="LineEdit" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/InputBar/HBoxContainer/MarginContainer" unique_id=1346390421]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 38)
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_placeholder_color = Color(1, 1, 1, 0.75)
theme_override_fonts/font = ExtResource("14_vwf6o")
theme_override_font_sizes/font_size = 14
theme_override_styles/normal = SubResource("StyleBoxEmpty_0nf8f")
theme_override_styles/read_only = SubResource("StyleBoxEmpty_iulku")
theme_override_styles/focus = SubResource("StyleBoxEmpty_rox41")
placeholder_text = "Send to World..."
[node name="SendBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/LeftCol/Control/HBoxContainer/InputBar/HBoxContainer" unique_id=1491048704]
unique_name_in_owner = true
custom_minimum_size = Vector2(44, 44)
layout_mode = 2
size_flags_vertical = 4
theme = ExtResource("2_theme")
theme_override_styles/normal = SubResource("StyleBoxEmpty_6ax38")
theme_override_styles/pressed = SubResource("StyleBoxFlat_jkoci")
theme_override_styles/hover = SubResource("StyleBoxFlat_3y5sy")
icon = ExtResource("15_iwi7x")
flat = true
[node name="CenterCol" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox" unique_id=7006870]
clip_contents = true
@@ -625,22 +1580,54 @@ size_flags_horizontal = 3
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
[node name="TopRightPanel" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol" unique_id=20449742]
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/RightCol" unique_id=76839117]
clip_contents = true
custom_minimum_size = Vector2(532, 48)
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_oysm8")
[node name="GradientPanel" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel" unique_id=966402216]
material = SubResource("ShaderMaterial_ixomp")
custom_minimum_size = Vector2(0, 48)
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 64.0
grow_horizontal = 2
scale = Vector2(1, 0.75)
texture = SubResource("GradientTexture2D_rievh")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel" unique_id=1907187664]
custom_minimum_size = Vector2(532, 0)
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 = 16
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 8
[node name="TopRightPanel" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer" unique_id=20449742]
custom_minimum_size = Vector2(500, 0)
layout_mode = 2
theme = ExtResource("2_theme")
theme_override_constants/separation = 12
theme_override_constants/separation = 40
alignment = 2
[node name="ProfileBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel" unique_id=752873406]
[node name="ProfileBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel" unique_id=752873406]
unique_name_in_owner = true
custom_minimum_size = Vector2(61, 61)
visible = false
custom_minimum_size = Vector2(32, 32)
layout_mode = 2
theme_override_fonts/font = ExtResource("5_pc087")
flat = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/ProfileBtn" unique_id=1690437163]
custom_minimum_size = Vector2(32, 32)
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/ProfileBtn" unique_id=1690437163]
custom_minimum_size = Vector2(16, 16)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -650,81 +1637,124 @@ grow_vertical = 2
texture = ExtResource("18_u7tfn")
expand_mode = 2
[node name="LeaderboardBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel" unique_id=312524216]
[node name="HelpBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel" unique_id=925822252]
custom_minimum_size = Vector2(16, 16)
layout_mode = 2
size_flags_horizontal = 4
theme_override_fonts/font = ExtResource("5_pc087")
flat = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/HelpBtn" unique_id=155484110]
custom_minimum_size = Vector2(16, 16)
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -16.0
offset_bottom = 16.0
grow_horizontal = 0
texture = ExtResource("24_ph747")
expand_mode = 1
[node name="CartBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel" unique_id=456149005]
unique_name_in_owner = true
custom_minimum_size = Vector2(61, 61)
custom_minimum_size = Vector2(32, 32)
layout_mode = 2
theme_override_fonts/font = ExtResource("5_pc087")
flat = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/LeaderboardBtn" unique_id=1226601226]
custom_minimum_size = Vector2(32, 32)
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/CartBtn" unique_id=1719165221]
custom_minimum_size = Vector2(16, 16)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("19_2630d")
texture = ExtResource("25_ixomp")
expand_mode = 2
[node name="CartBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel" unique_id=456149005]
[node name="TicketBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel" unique_id=64042310]
unique_name_in_owner = true
custom_minimum_size = Vector2(61, 61)
custom_minimum_size = Vector2(28, 32)
layout_mode = 2
theme_override_fonts/font = ExtResource("5_pc087")
flat = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/CartBtn" unique_id=1719165221]
custom_minimum_size = Vector2(32, 32)
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/TicketBtn" unique_id=109558990]
custom_minimum_size = Vector2(16, 16)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("20_835bk")
expand_mode = 2
texture = ExtResource("26_8kv63")
expand_mode = 1
[node name="TicketBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel" unique_id=64042310]
[node name="LeaderboardBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel" unique_id=312524216]
unique_name_in_owner = true
custom_minimum_size = Vector2(61, 61)
custom_minimum_size = Vector2(40, 32)
layout_mode = 2
theme_override_fonts/font = ExtResource("5_pc087")
flat = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/TicketBtn" unique_id=109558990]
custom_minimum_size = Vector2(32, 32)
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/LeaderboardBtn" unique_id=1226601226]
custom_minimum_size = Vector2(16, 16)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("21_ucbax")
expand_mode = 2
texture = ExtResource("27_y8bta")
expand_mode = 1
[node name="MailboxBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel" unique_id=64042311]
[node name="SocialBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel" unique_id=82719328]
unique_name_in_owner = true
custom_minimum_size = Vector2(61, 61)
custom_minimum_size = Vector2(40, 32)
layout_mode = 2
theme_override_fonts/font = ExtResource("5_pc087")
flat = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/SocialBtn" unique_id=134959792]
custom_minimum_size = Vector2(16, 16)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("28_st18m")
expand_mode = 1
[node name="MailboxBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel" unique_id=64042311]
unique_name_in_owner = true
custom_minimum_size = Vector2(32, 32)
layout_mode = 2
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_styles/normal = SubResource("StyleBoxEmpty_835bk")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_ucbax")
theme_override_styles/hover = SubResource("StyleBoxEmpty_1x1aw")
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/MailboxBtn" unique_id=109558991]
custom_minimum_size = Vector2(32, 32)
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/MailboxBtn" unique_id=109558991]
custom_minimum_size = Vector2(16, 16)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -19.5
offset_top = -12.0
offset_right = 20.5
offset_bottom = 13.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("23_835bk")
texture = ExtResource("29_6yc8v")
expand_mode = 3
[node name="MailBadge" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/MailboxBtn" unique_id=156491696]
[node name="MailBadge" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/MailboxBtn" unique_id=156491696]
unique_name_in_owner = true
visible = false
layout_mode = 1
@@ -741,47 +1771,31 @@ theme_override_font_sizes/font_size = 10
horizontal_alignment = 1
vertical_alignment = 1
[node name="SocialBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel" unique_id=82719328]
[node name="SettingsBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel" unique_id=90]
unique_name_in_owner = true
custom_minimum_size = Vector2(61, 61)
custom_minimum_size = Vector2(32, 32)
layout_mode = 2
theme_override_fonts/font = ExtResource("5_pc087")
flat = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/SocialBtn" unique_id=134959792]
custom_minimum_size = Vector2(32, 32)
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Panel/MarginContainer/TopRightPanel/SettingsBtn" unique_id=629469797]
custom_minimum_size = Vector2(16, 16)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("22_1x1aw")
expand_mode = 2
texture = ExtResource("30_yb58j")
expand_mode = 1
[node name="SettingsBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel" unique_id=90]
unique_name_in_owner = true
custom_minimum_size = Vector2(61, 61)
[node name="Events" parent="MainMenuPanel/MainMargin/MainHBox/RightCol" unique_id=43997484 instance=ExtResource("32_8kv63")]
custom_minimum_size = Vector2(276, 141)
layout_mode = 2
theme_override_fonts/font = ExtResource("5_pc087")
flat = true
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/TopRightPanel/SettingsBtn" unique_id=629469797]
custom_minimum_size = Vector2(32, 32)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("23_twy5w")
expand_mode = 2
[node name="Spacer1" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/RightCol" unique_id=9023]
layout_mode = 2
size_flags_vertical = 3
size_flags_vertical = 1
[node name="Banners" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol" unique_id=1356766829]
visible = false
layout_mode = 2
theme_override_constants/separation = 16
alignment = 2
@@ -828,30 +1842,123 @@ theme_override_font_sizes/font_size = 30
disabled = true
text = "Banner Slot"
[node name="HBoxContainer3" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Banners" unique_id=1502007727]
[node name="VBoxContainer" type="VBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol" unique_id=496474529]
custom_minimum_size = Vector2(250, 0)
layout_mode = 2
alignment = 2
size_flags_horizontal = 8
size_flags_vertical = 3
[node name="Control" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Banners/HBoxContainer3" unique_id=249145750]
clip_contents = true
custom_minimum_size = Vector2(350, 0)
layout_direction = 3
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer" unique_id=1789411264]
layout_mode = 2
[node name="Banner3" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/Banners/HBoxContainer3" unique_id=945]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 120)
[node name="Label" type="Label" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/HBoxContainer" unique_id=1371230077]
layout_mode = 2
theme_override_fonts/font = ExtResource("38_87ggl")
theme_override_font_sizes/font_size = 20
text = "QUEST LIST"
[node name="VSeparator" type="VSeparator" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/HBoxContainer" unique_id=2072828325]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("14_2630d")
theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 30
disabled = true
text = "Banner Slot"
theme_override_styles/separator = SubResource("StyleBoxEmpty_pril5")
[node name="TextureRect" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/HBoxContainer" unique_id=2106503240]
custom_minimum_size = Vector2(16, 0)
layout_mode = 2
texture = ExtResource("39_agxrn")
expand_mode = 1
stretch_mode = 4
[node name="HSeparator2" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer" unique_id=2069465384]
layout_mode = 2
theme_override_constants/separation = 4
theme_override_styles/separator = SubResource("StyleBoxFlat_wqxeh")
[node name="HSeparator" type="HSeparator" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer" unique_id=1831625398]
layout_mode = 2
theme_override_styles/separator = SubResource("StyleBoxEmpty_do6di")
[node name="QuestListTab" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer" unique_id=731395093]
custom_minimum_size = Vector2(0, 38)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_do6di")
script = ExtResource("40_agxrn")
[node name="MarginContainer" type="MarginContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/QuestListTab" unique_id=1241608073]
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 = 6
theme_override_constants/margin_top = 6
theme_override_constants/margin_right = 6
theme_override_constants/margin_bottom = 6
[node name="HBoxContainer" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/QuestListTab/MarginContainer" unique_id=1931628729]
layout_mode = 2
theme_override_constants/separation = 0
[node name="DailyTabBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/QuestListTab/MarginContainer/HBoxContainer" unique_id=1009068559]
unique_name_in_owner = true
custom_minimum_size = Vector2(68, 28)
layout_mode = 2
size_flags_horizontal = 3
theme_override_colors/font_color = Color(1, 1, 1, 0.9)
theme_override_colors/font_pressed_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
theme_override_fonts/font = ExtResource("38_87ggl")
theme_override_styles/normal = SubResource("StyleBoxEmpty_jkoci")
theme_override_styles/pressed = SubResource("StyleBoxFlat_os6ns")
theme_override_styles/hover = SubResource("StyleBoxFlat_b6wif")
toggle_mode = true
button_pressed = true
text = "DAILY"
[node name="VSeparator2" type="VSeparator" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/QuestListTab/MarginContainer/HBoxContainer" unique_id=1786352918]
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/separator = SubResource("StyleBoxEmpty_uovpt")
[node name="WeeklyTabBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/QuestListTab/MarginContainer/HBoxContainer" unique_id=1907844738]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 26)
layout_mode = 2
size_flags_horizontal = 3
theme_override_colors/font_color = Color(1, 1, 1, 0.9)
theme_override_colors/font_pressed_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
theme_override_fonts/font = ExtResource("38_87ggl")
theme_override_styles/normal = SubResource("StyleBoxEmpty_3y5sy")
theme_override_styles/pressed = SubResource("StyleBoxFlat_os6ns")
theme_override_styles/hover = SubResource("StyleBoxFlat_b6wif")
toggle_mode = true
text = "WEEKLY"
[node name="VSeparator" type="VSeparator" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/QuestListTab/MarginContainer/HBoxContainer" unique_id=1382495761]
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/separator = SubResource("StyleBoxEmpty_uovpt")
[node name="MonthlyTabBtn" type="Button" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/VBoxContainer/QuestListTab/MarginContainer/HBoxContainer" unique_id=1294883329]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 26)
layout_mode = 2
size_flags_horizontal = 3
theme_override_colors/font_color = Color(1, 1, 1, 0.9)
theme_override_colors/font_pressed_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
theme_override_fonts/font = ExtResource("38_87ggl")
theme_override_styles/normal = SubResource("StyleBoxEmpty_fwqx0")
theme_override_styles/pressed = SubResource("StyleBoxFlat_8onxx")
theme_override_styles/hover = SubResource("StyleBoxFlat_15eno")
toggle_mode = true
text = "MONTHLY"
[node name="Spacer2" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/RightCol" unique_id=324]
custom_minimum_size = Vector2(0, 92)
layout_mode = 2
size_flags_vertical = 3
[node name="BottomRightPanel" type="HBoxContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol" unique_id=987]
layout_mode = 2
@@ -869,10 +1976,68 @@ theme_override_fonts/font = ExtResource("5_pc087")
theme_override_font_sizes/font_size = 18
text = "TUTORIAL"
[node name="BrowseRoomsBtn" type="TextureButton" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel" unique_id=1204550484]
[node name="RoomBtnRoot" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel" unique_id=1998141679]
custom_minimum_size = Vector2(195, 77)
layout_mode = 2
size_flags_horizontal = 10
size_flags_vertical = 8
[node name="PanelContainer" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/RoomBtnRoot" unique_id=2047958981]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -160.0
offset_top = -65.0
offset_bottom = 36.0
grow_horizontal = 0
theme_override_styles/panel = SubResource("StyleBoxEmpty_4pkyx")
[node name="Panel2" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/RoomBtnRoot/PanelContainer" unique_id=1384210399]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_rievh")
[node name="CardLeft" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/RoomBtnRoot/PanelContainer/Panel2" unique_id=975861905]
custom_minimum_size = Vector2(85, 85)
layout_mode = 0
offset_left = -2.0
offset_top = 20.0
offset_right = 83.0
offset_bottom = 105.0
rotation = -0.35081118
pivot_offset = Vector2(28, 28)
size_flags_horizontal = 0
size_flags_vertical = 8
mouse_filter = 2
texture = ExtResource("33_yb58j")
expand_mode = 1
stretch_mode = 5
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/RoomBtnRoot/PanelContainer" unique_id=155993237]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_olier")
[node name="CardRight" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/RoomBtnRoot/PanelContainer/Panel" unique_id=817735936]
layout_mode = 0
offset_left = 77.0
offset_top = -1.0
offset_right = 167.0
offset_bottom = 89.0
rotation = 0.34906584
pivot_offset = Vector2(28, 28)
size_flags_horizontal = 8
size_flags_vertical = 8
mouse_filter = 2
texture = ExtResource("34_oysm8")
expand_mode = 1
stretch_mode = 5
[node name="BrowseRoomsBtn" type="TextureButton" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/RoomBtnRoot" unique_id=1204550484]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
layout_mode = 0
offset_right = 195.0
offset_bottom = 77.0
size_flags_horizontal = 10
size_flags_vertical = 8
theme = ExtResource("2_theme")
@@ -880,10 +2045,66 @@ texture_normal = ExtResource("17_wjff0")
texture_pressed = ExtResource("18_0jb4q")
texture_hover = ExtResource("18_0jb4q")
[node name="CreateRoomBtn" type="TextureButton" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel" unique_id=1662316269]
[node name="PlayBtnRoot" type="Control" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel" unique_id=521048431]
custom_minimum_size = Vector2(284, 107)
layout_mode = 2
size_flags_horizontal = 3
[node name="PanelContainer" type="PanelContainer" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/PlayBtnRoot" unique_id=1177755408]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -222.0
offset_top = -110.0
offset_bottom = 9.0
grow_horizontal = 0
theme_override_styles/panel = SubResource("StyleBoxEmpty_oysm8")
[node name="Panel" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/PlayBtnRoot/PanelContainer" unique_id=1036605899]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_5jb2g")
[node name="CardRight" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/PlayBtnRoot/PanelContainer/Panel" unique_id=1142287670]
layout_mode = 0
offset_left = 115.0
offset_top = 26.0
offset_right = 215.0
offset_bottom = 126.0
rotation = 0.24958208
pivot_offset = Vector2(28, 28)
size_flags_horizontal = 8
size_flags_vertical = 8
mouse_filter = 2
texture = ExtResource("38_rievh")
expand_mode = 1
stretch_mode = 5
[node name="Panel2" type="Panel" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/PlayBtnRoot/PanelContainer" unique_id=379136491]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_s0n6j")
[node name="CardLeft" type="TextureRect" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/PlayBtnRoot/PanelContainer/Panel2" unique_id=614956734]
layout_mode = 0
offset_left = 17.0
offset_top = 58.0
offset_right = 112.0
offset_bottom = 153.0
rotation = -0.34382987
pivot_offset = Vector2(28, 28)
size_flags_horizontal = 0
size_flags_vertical = 8
mouse_filter = 2
texture = ExtResource("37_4pkyx")
expand_mode = 1
stretch_mode = 5
[node name="CreateRoomBtn" type="TextureButton" parent="MainMenuPanel/MainMargin/MainHBox/RightCol/BottomRightPanel/PlayBtnRoot" unique_id=1662316269]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
layout_mode = 0
offset_right = 284.0
offset_bottom = 107.0
size_flags_horizontal = 3
theme = ExtResource("2_theme")
texture_normal = ExtResource("18_h1rib")
+142
View File
@@ -0,0 +1,142 @@
extends ScrollContainer
const SNAP_DURATION := 0.25
const TEX_DEFAULT := preload("res://assets/graphics/gui/lobby/bar_default.svg")
const TEX_ACTIVE := preload("res://assets/graphics/gui/lobby/bar_active.svg")
@export var auto_advance_enabled: bool = true
@export var auto_advance_delay: float = 4.0
@onready var _track: HBoxContainer = $CardMargin/HBoxContainer
@onready var _page_dots: Array = get_node_or_null("../PageIndicator").get_children() if get_node_or_null("../PageIndicator") else []
var _dragging := false
var _drag_start_pos := 0.0
var _drag_start_scroll := 0
var _snap_tween: Tween
var _auto_timer: Timer
func _ready() -> void:
_update_indicator()
_setup_auto_timer()
func _setup_auto_timer() -> void:
_auto_timer = Timer.new()
_auto_timer.name = "AutoAdvanceTimer"
_auto_timer.one_shot = true
_auto_timer.timeout.connect(_on_auto_timer_timeout)
add_child(_auto_timer)
_restart_auto_timer()
func _restart_auto_timer() -> void:
if not auto_advance_enabled or _dragging or _card_count() <= 1:
return
_auto_timer.stop()
_auto_timer.wait_time = auto_advance_delay
_auto_timer.start()
func _on_auto_timer_timeout() -> void:
if _dragging:
return
var next_index := (_current_page() + 1) % _card_count()
_animate_to_page(next_index)
func _exit_tree() -> void:
if _auto_timer:
_auto_timer.stop()
if _snap_tween:
_snap_tween.kill()
func _gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT:
if event.pressed:
_start_drag(event.position.x)
elif _dragging:
_end_drag()
elif event is InputEventMouseMotion and _dragging:
_update_drag(event.position.x)
elif event is InputEventScreenTouch and event.index == 0:
if event.pressed:
_start_drag(event.position.x)
elif _dragging:
_end_drag()
elif event is InputEventScreenDrag and event.index == 0 and _dragging:
_update_drag(event.position.x)
func _start_drag(x: float) -> void:
if _snap_tween:
_snap_tween.kill()
_auto_timer.stop()
_dragging = true
_drag_start_pos = x
_drag_start_scroll = scroll_horizontal
func _update_drag(x: float) -> void:
var delta := _drag_start_pos - x
scroll_horizontal = clampi(_drag_start_scroll + int(delta), 0, _max_scroll())
_update_indicator()
func _end_drag() -> void:
_dragging = false
_snap_to_nearest_card()
func _max_scroll() -> int:
var bar := get_h_scroll_bar()
return maxi(0, int(bar.max_value - bar.page))
func _card_count() -> int:
return maxi(1, _track.get_child_count())
func _card_step() -> float:
var count := _card_count()
if count <= 1:
return 0.0
return float(_max_scroll()) / float(count - 1)
func _current_page() -> int:
var step := _card_step()
if step <= 0.0:
return 0
return clampi(roundi(scroll_horizontal / step), 0, _card_count() - 1)
func _snap_to_nearest_card() -> void:
_animate_to_page(_current_page())
func _animate_to_page(target_index: int) -> void:
target_index = clampi(target_index, 0, _card_count() - 1)
var step := _card_step()
var target_scroll := int(round(target_index * step))
if _snap_tween:
_snap_tween.kill()
_snap_tween = create_tween().set_trans(Tween.TRANS_CUBIC).set_ease(Tween.EASE_OUT)
_snap_tween.tween_method(_set_scroll_and_indicator, float(scroll_horizontal), float(target_scroll), SNAP_DURATION)
_snap_tween.finished.connect(_restart_auto_timer)
func _set_scroll_and_indicator(value: float) -> void:
scroll_horizontal = int(round(value))
_update_indicator()
func _update_indicator() -> void:
if _page_dots.is_empty():
return
var active_index := _current_page()
for i in _page_dots.size():
var dot: TextureRect = _page_dots[i]
dot.texture = TEX_ACTIVE if i == active_index else TEX_DEFAULT
+1
View File
@@ -0,0 +1 @@
uid://bnxbmxuwjwqua
+198
View File
@@ -0,0 +1,198 @@
[gd_scene format=3 uid="uid://c3v78hufajngu"]
[ext_resource type="Texture2D" uid="uid://bhv35y3q1jxr0" path="res://assets/graphics/gui/lobby/card_xmple.png" id="1_3k5w5"]
[ext_resource type="Script" uid="uid://bnxbmxuwjwqua" path="res://scenes/lobby_sliders.gd" id="1_l3iok"]
[ext_resource type="FontFile" uid="uid://dsqg0x5lnosou" path="res://assets/fonts/TektonDash2.ttf" id="2_l3iok"]
[ext_resource type="Texture2D" uid="uid://y0y2fqa6xml7" path="res://assets/graphics/gui/lobby/bar_default.svg" id="3_i4gg1"]
[ext_resource type="Texture2D" uid="uid://b5qt2u2k23b5w" path="res://assets/graphics/gui/lobby/bar_active.svg" id="4_crv6i"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_st18m"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_t5gla"]
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
corner_radius_top_left = 23
corner_radius_top_right = 23
corner_radius_bottom_right = 23
corner_radius_bottom_left = 23
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_a37jl"]
bg_color = Color(1, 0.25882354, 0.25882354, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(0.06666667, 0.13333334, 0.1882353, 1)
corner_radius_top_left = 8
corner_radius_top_right = 8
corner_radius_bottom_right = 8
corner_radius_bottom_left = 8
[node name="Sliders" type="Panel" unique_id=43997484]
custom_minimum_size = Vector2(276, 0)
offset_right = 276.0
offset_bottom = 132.0
size_flags_horizontal = 8
size_flags_vertical = 3
theme_override_styles/panel = SubResource("StyleBoxEmpty_st18m")
[node name="ScrollContainer" type="ScrollContainer" parent="." unique_id=1629363718]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_bottom = 4.0
grow_horizontal = 2
grow_vertical = 2
horizontal_scroll_mode = 3
vertical_scroll_mode = 3
script = ExtResource("1_l3iok")
[node name="CardMargin" type="MarginContainer" parent="ScrollContainer" unique_id=481757735]
layout_mode = 2
theme_override_constants/margin_left = 0
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 0
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/CardMargin" unique_id=1982136347]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 4
[node name="PanelContainer1" type="PanelContainer" parent="ScrollContainer/CardMargin/HBoxContainer" unique_id=610661983]
layout_mode = 2
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxFlat_t5gla")
[node name="CardBase" type="TextureRect" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer1" unique_id=313528397]
custom_minimum_size = Vector2(270, 117)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 4
texture = ExtResource("1_3k5w5")
expand_mode = 1
[node name="LimitedBadge" type="PanelContainer" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer1/CardBase" unique_id=802083624]
layout_mode = 0
offset_left = 2.0
offset_top = -5.0
offset_right = 108.0
offset_bottom = 29.0
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxFlat_a37jl")
[node name="MarginContainer" type="MarginContainer" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer1/CardBase/LimitedBadge" unique_id=51791062]
layout_mode = 2
size_flags_vertical = 4
theme_override_constants/margin_left = 13
theme_override_constants/margin_top = 4
theme_override_constants/margin_right = 13
theme_override_constants/margin_bottom = 3
[node name="Label" type="Label" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer1/CardBase/LimitedBadge/MarginContainer" unique_id=1817736469]
layout_mode = 2
theme_override_fonts/font = ExtResource("2_l3iok")
theme_override_font_sizes/font_size = 20
text = "Limited"
[node name="PanelContainer2" type="PanelContainer" parent="ScrollContainer/CardMargin/HBoxContainer" unique_id=704308740]
layout_mode = 2
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxFlat_t5gla")
[node name="CardBase" type="TextureRect" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer2" unique_id=870258525]
custom_minimum_size = Vector2(270, 117)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 4
texture = ExtResource("1_3k5w5")
expand_mode = 1
[node name="LimitedBadge" type="PanelContainer" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer2/CardBase" unique_id=1744093227]
layout_mode = 0
offset_left = 2.0
offset_top = -5.0
offset_right = 102.0
offset_bottom = 28.0
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxFlat_a37jl")
[node name="MarginContainer" type="MarginContainer" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer2/CardBase/LimitedBadge" unique_id=126611072]
layout_mode = 2
size_flags_vertical = 4
theme_override_constants/margin_left = 13
theme_override_constants/margin_top = 4
theme_override_constants/margin_right = 13
theme_override_constants/margin_bottom = 3
[node name="Label" type="Label" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer2/CardBase/LimitedBadge/MarginContainer" unique_id=1709358746]
layout_mode = 2
theme_override_fonts/font = ExtResource("2_l3iok")
theme_override_font_sizes/font_size = 20
text = "Limited"
[node name="PanelContainer3" type="PanelContainer" parent="ScrollContainer/CardMargin/HBoxContainer" unique_id=1308324127]
layout_mode = 2
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxFlat_t5gla")
[node name="CardBase" type="TextureRect" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer3" unique_id=1957855413]
custom_minimum_size = Vector2(270, 117)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 4
texture = ExtResource("1_3k5w5")
expand_mode = 1
[node name="LimitedBadge" type="PanelContainer" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer3/CardBase" unique_id=1087414779]
layout_mode = 0
offset_left = 2.0
offset_top = -5.0
offset_right = 102.0
offset_bottom = 28.0
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxFlat_a37jl")
[node name="MarginContainer" type="MarginContainer" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer3/CardBase/LimitedBadge" unique_id=516591042]
layout_mode = 2
size_flags_vertical = 4
theme_override_constants/margin_left = 13
theme_override_constants/margin_top = 4
theme_override_constants/margin_right = 13
theme_override_constants/margin_bottom = 3
[node name="Label" type="Label" parent="ScrollContainer/CardMargin/HBoxContainer/PanelContainer3/CardBase/LimitedBadge/MarginContainer" unique_id=1269776987]
layout_mode = 2
theme_override_fonts/font = ExtResource("2_l3iok")
theme_override_font_sizes/font_size = 20
text = "Limited"
[node name="PageIndicator" type="HBoxContainer" parent="." unique_id=844141711]
layout_mode = 0
offset_left = 13.0
offset_top = 108.0
offset_right = 263.0
offset_bottom = 117.0
theme_override_constants/separation = 5
[node name="Dot1" type="TextureRect" parent="PageIndicator" unique_id=1939877728]
custom_minimum_size = Vector2(80, 6)
layout_mode = 2
texture = ExtResource("4_crv6i")
expand_mode = 1
[node name="Dot2" type="TextureRect" parent="PageIndicator" unique_id=1471300482]
custom_minimum_size = Vector2(80, 6)
layout_mode = 2
texture = ExtResource("3_i4gg1")
expand_mode = 1
[node name="Dot3" type="TextureRect" parent="PageIndicator" unique_id=1825186770]
custom_minimum_size = Vector2(80, 6)
layout_mode = 2
texture = ExtResource("3_i4gg1")
expand_mode = 1
+14 -14
View File
@@ -117,6 +117,7 @@ var can_finish: bool:
# Modifier for Turn based
var has_performed_action: bool = false
@warning_ignore("unused_private_class_variable") # read/written by player_action_manager.gd
var _is_processing_action: bool = false
var selected_gridmap_position = Vector2i(-1, -1)
var selected_playerboard_slot = -1
@@ -157,6 +158,7 @@ var spawn_point_selected = false
# Action for hilighter
var highlighted_spawn_points = []
@warning_ignore("unused_private_class_variable") # read/written by player_movement_manager.gd
var _is_highlighting: bool = false
# Character selection and animation
@@ -579,7 +581,7 @@ const COSMETIC_MAPPING = {
}
}
func apply_loadout(character_node: Node3D) -> void:
func apply_loadout(_character_node: Node3D) -> void:
"""Apply equipped cosmetics via SkinManager — the single source of truth.
Uses _player_loadout (synced from the owning client via sync_loadout RPC)
so all peers render the same skin regardless of their own loadout."""
@@ -928,14 +930,14 @@ func _refresh_player_visuals():
if active_character:
apply_loadout(active_character)
func update_rank_visuals(rank: int, score: int = -1):
func update_rank_visuals(rank: int, player_score: int = -1):
var pos_label = get_node_or_null("Position")
if not pos_label:
return
# Hide rank until the player has actually scored, so the match doesn't
# start with everyone showing a position (e.g. all "1st").
if score == 0:
if player_score == 0:
pos_label.visible = false
return
@@ -1110,7 +1112,6 @@ func drop_all_tiles():
for i in range(playerboard.size()):
if playerboard[i] != -1:
var item_id = playerboard[i]
playerboard[i] = -1
# Find a spot to drop? Or just destroy?
@@ -1603,7 +1604,7 @@ func _find_random_spawn_position() -> Vector2i:
# Special handling for Stop n Go mode (22x10 Grid)
if LobbyManager.game_mode == "Stop n Go":
var available_positions = []
var stop_n_go_positions = []
# Scan the 22x10 grid
for x in range(22):
for z in range(10):
@@ -1616,12 +1617,12 @@ func _find_random_spawn_position() -> Vector2i:
# Assuming 4 is obstacle, and -1 is void. 0 is walkable, 2 is safe zone.
if item != -1 and item != 4:
if not is_position_occupied(pos):
available_positions.append(pos)
if available_positions.size() > 0:
stop_n_go_positions.append(pos)
if stop_n_go_positions.size() > 0:
var rng = RandomNumberGenerator.new()
rng.randomize()
return available_positions[rng.randi() % available_positions.size()]
return stop_n_go_positions[rng.randi() % stop_n_go_positions.size()]
return Vector2i(10, 5) # Fallback center
@@ -1651,6 +1652,7 @@ func _find_random_spawn_position() -> Vector2i:
# Better fallback center instead of 0,0 which is often a wall/border
print("[Player] Warning: No available spawn positions found! Using fallback.")
@warning_ignore("integer_division") # grid center is intentionally an integer cell
return Vector2i(cols / 2, rs / 2)
func find_random_valid_position_in_range() -> Vector2i:
@@ -1690,8 +1692,8 @@ func raycast_to_grid(from: Vector3, to: Vector3) -> Vector2i:
return Vector2i(-1, -1)
func is_within_movement_range(target_position: Vector2i) -> bool:
return movement_manager.is_within_movement_range(target_position)
func is_within_movement_range(check_position: Vector2i) -> bool:
return movement_manager.is_within_movement_range(check_position)
# -----------------------------------------------------------------
# Movement
@@ -1777,9 +1779,7 @@ func start_movement_along_path(path: Array, clear_visual: bool = true, force: bo
var current_finish_locs = race_manager.get_current_finish_locations() if race_manager else finish_locations
if current_position in current_finish_locs and can_finish:
finish_race()
var main = get_tree().get_root().get_node_or_null("Main")
# Clear visuals for everyone including bots
if clear_visual:
if enhanced_gridmap:
+13
View File
@@ -0,0 +1,13 @@
extends Panel
@onready var _slider = $Content/ScrollContainer
@onready var _ticket = $Ticket
func _ready() -> void:
if _slider.has_signal("page_changed"):
_slider.page_changed.connect(_on_page_changed)
func _on_page_changed(index: int) -> void:
_ticket.show_index(index)
+1
View File
@@ -0,0 +1 @@
uid://dc5dh15rrdc4
+53
View File
@@ -0,0 +1,53 @@
extends Panel
const DIP_DURATION := 0.36
@onready var _tickets: Array = get_children().filter(func(c): return c is TextureRect)
var _current_index := 0
var _tween: Tween
func _ready() -> void:
for i in _tickets.size():
_tickets[i].visible = (i == 0)
_tickets[i].modulate.a = 1.0
func show_index(index: int, animate: bool = true) -> void:
if index < 0 or index >= _tickets.size() or index == _current_index:
return
var from_ticket: TextureRect = _tickets[_current_index]
var to_ticket: TextureRect = _tickets[index]
if not animate:
from_ticket.visible = false
to_ticket.visible = true
to_ticket.modulate.a = 1.0
_current_index = index
return
if _tween:
_tween.kill()
var from_mat: ShaderMaterial = from_ticket.material
var to_mat: ShaderMaterial = to_ticket.material
_tween = create_tween()
_tween.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN)
if from_mat:
_tween.tween_method(func(v): from_mat.set_shader_parameter("blur_amount", v), 0.0, 1.0, DIP_DURATION * 0.5)
_tween.parallel().tween_property(from_ticket, "modulate:a", 0.0, DIP_DURATION * 0.5)
_tween.tween_callback(func():
from_ticket.visible = false
to_ticket.modulate.a = 0.0
to_ticket.visible = true
_current_index = index
)
_tween.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
if to_mat:
_tween.tween_method(func(v): to_mat.set_shader_parameter("blur_amount", v), 1.0, 0.0, DIP_DURATION * 0.5)
_tween.parallel().tween_property(to_ticket, "modulate:a", 1.0, DIP_DURATION * 0.5)
+1
View File
@@ -0,0 +1 @@
uid://bwu41vcu5t8nd
+82 -34
View File
@@ -10,6 +10,8 @@ var _active_chat_context: String = "global"
var _dm_tabs: Dictionary = {}
var _dm_messages: Dictionary = {}
var _chat_config: Dictionary = {"prefix": "", "max_messages": 50, "max_age_days": 0}
var _global_chat_loading: bool = false
var _dm_loading: Dictionary = {}
func _init(p_lobby: Control):
lobby = p_lobby
@@ -19,26 +21,41 @@ func _init(p_lobby: Control):
if lobby.chat_input:
lobby.chat_input.text_submitted.connect(func(_t): _on_chat_send_pressed())
lobby.chat_input.text_changed.connect(_on_chat_input_changed)
var global_btn = lobby.get_node_or_null("%GlobalChatTabBtn")
if global_btn:
global_btn.pressed.connect(func(): switch_chat_tab("global"))
var server_btn = lobby.get_node_or_null("%ServerChatTabBtn")
if server_btn:
server_btn.pressed.connect(func(): switch_chat_tab("server"))
_setup_friend_suggest_ui()
func join_global_chat() -> void:
if _chat_channel != null:
if _chat_channel != null or _global_chat_loading:
return
_global_chat_loading = true
_refresh_chat_display()
var socket = NakamaManager.socket
if not socket or not socket.is_connected_to_host():
push_warning("[Chat] Socket not connected, skipping chat join.")
_global_chat_loading = false
_refresh_chat_display()
return
var result = await socket.join_chat_async(GLOBAL_CHAT_ROOM,
NakamaSocket.ChannelType.Room,
true, false)
if result.is_exception():
push_warning("[Chat] Failed to join global chat: " + result.get_exception().message)
_global_chat_loading = false
_refresh_chat_display()
return
_chat_channel = result
print("[Chat] Joined global channel: ", _chat_channel.id)
@@ -51,26 +68,28 @@ func join_global_chat() -> void:
if cfg_res.has("config"):
_chat_config = cfg_res["config"]
_chat_messages.clear()
var limit: int = _chat_config.get("max_messages", 50)
var history_entries: Array = []
var history_result = await NakamaManager.client.list_channel_messages_async(NakamaManager.session, _chat_channel.id, limit, false)
if not history_result.is_exception() and history_result.messages:
var msgs = history_result.messages.duplicate()
msgs.reverse()
for msg in msgs:
_add_chat_message(msg, false)
history_entries.append(_parse_chat_message(msg))
# Inject admin system prefix if configured
var prefix: String = _chat_config.get("prefix", "")
if not prefix.is_empty():
_chat_messages.insert(0, {
history_entries.insert(0, {
"sender": "SYSTEM",
"content": prefix,
"ts": _get_local_time(),
"date": Time.get_date_string_from_system()
})
_chat_messages = history_entries + _chat_messages
_trim_old_messages()
_global_chat_loading = false
_refresh_chat_display()
func _on_chat_message_received(message) -> void:
@@ -80,29 +99,32 @@ func _on_chat_message_received(message) -> void:
return
_add_chat_message(message, true)
func _add_chat_message(message, refresh_display: bool) -> void:
func _parse_chat_message(message) -> Dictionary:
var text: String = ""
var parsed = JSON.parse_string(message.content)
if typeof(parsed) == TYPE_DICTIONARY:
text = parsed.get("msg", message.content)
else:
text = message.content
var sender: String = message.username
if sender.is_empty() and message.sender_id:
sender = message.sender_id.substr(0, 8)
elif sender.is_empty():
sender = "Unknown"
var ts_str: String = _format_nakama_time(message.create_time)
_chat_messages.append({
return {
"sender": sender,
"content": text,
"ts": ts_str,
"date": message.create_time.substr(0, 10) if message.create_time else Time.get_date_string_from_system()
})
}
func _add_chat_message(message, refresh_display: bool) -> void:
_chat_messages.append(_parse_chat_message(message))
if refresh_display:
_trim_old_messages()
_refresh_chat_display()
@@ -209,16 +231,21 @@ func _open_dm_tab(user_id: String, username: String) -> void:
if not _dm_tabs.has(user_id):
_create_dm_tab(user_id, username)
_dm_messages[user_id] = []
_dm_loading[user_id] = true
switch_chat_tab(user_id)
var history = await FriendManager.get_dm_history(user_id)
var my_id = NakamaManager.session.user_id if NakamaManager.session else ""
var history_entries: Array = []
for entry in history:
var is_self = entry.get("from") == my_id
var sender_name = "You" if is_self else username
var ts = _format_nakama_time(entry.get("create_time", ""))
_dm_messages[user_id].append({"sender": sender_name, "content": entry.get("msg", ""), "ts": ts})
history_entries.append({"sender": sender_name, "content": entry.get("msg", ""), "ts": ts})
_dm_messages[user_id] = history_entries + _dm_messages[user_id]
_dm_loading[user_id] = false
if _active_chat_context == user_id:
_refresh_chat_display()
else:
@@ -256,16 +283,34 @@ func _close_dm_tab(user_id: String) -> void:
func switch_chat_tab(context_id: String) -> void:
_active_chat_context = context_id
_refresh_chat_display()
var tabs_container = lobby.get_node_or_null("%ChatTabsContainer")
if tabs_container:
var global_btn = lobby.get_node_or_null("%GlobalChatTabBtn")
if global_btn:
global_btn.modulate = Color(1.0, 1.0, 1.0) if context_id == "global" else Color(0.6, 0.6, 0.6)
for u_id in _dm_tabs:
var tab_hbox = _dm_tabs[u_id]
tab_hbox.modulate = Color(1.0, 1.0, 1.0) if context_id == u_id else Color(0.6, 0.6, 0.6)
var global_btn = lobby.get_node_or_null("%GlobalChatTabBtn")
if global_btn:
global_btn.button_pressed = (context_id == "global")
var server_btn = lobby.get_node_or_null("%ServerChatTabBtn")
if server_btn:
server_btn.button_pressed = (context_id == "server")
for u_id in _dm_tabs:
var tab_hbox = _dm_tabs[u_id]
var dm_btn = tab_hbox.get_node_or_null("DMTabBtn")
if dm_btn:
dm_btn.button_pressed = (context_id == u_id)
if lobby.chat_input:
lobby.chat_input.placeholder_text = "Send to %s..." % _get_context_display_name(context_id)
func _get_context_display_name(context_id: String) -> String:
if context_id == "global":
return "World"
if context_id == "server":
return "Server"
if _dm_tabs.has(context_id):
var btn = _dm_tabs[context_id].get_node_or_null("DMTabBtn")
if btn:
return btn.text
return "Chat"
func _setup_friend_suggest_ui() -> void:
lobby._friend_suggest_panel = lobby.get_node_or_null("%FriendSuggestPanel")
@@ -331,12 +376,15 @@ func _refresh_chat_display() -> void:
messages_to_show = []
for msg in messages_to_show:
var ts: String = msg.get("ts", "")
var sender: String = msg.get("sender", "?")
var text: String = msg.get("content", "")
lobby.chat_display.append_text("[color=#888888][%s][/color] [b]%s:[/b] %s\n" % [ts, sender, text])
lobby.chat_display.append_text("[b]%s[/b]\n[color=#c7d3e0]%s[/color]\n\n" % [sender, text])
var is_loading: bool = _global_chat_loading if _active_chat_context == "global" else _dm_loading.get(_active_chat_context, false)
if is_loading:
lobby.chat_display.append_text("[i][color=#8a97a8]Loading messages...[/color][/i]\n")
if lobby.chat_display:
var scrollbar = lobby.chat_display.get_v_scroll_bar()
if scrollbar:
+1 -2
View File
@@ -153,8 +153,7 @@ func _on_room_joined(room_data: Dictionary) -> void:
_on_enable_cycle_timer_changed(LobbyManager.enable_cycle_timer)
_on_scarcity_mode_changed(LobbyManager.scarcity_mode)
_on_sng_update()
_on_doors_update()
if lobby.area_left_btn: lobby.area_left_btn.disabled = not is_host
if lobby.area_right_btn: lobby.area_right_btn.disabled = not is_host
if lobby.area_name_label: lobby.area_name_label.text = LobbyManager.get_selected_area()
+25
View File
@@ -0,0 +1,25 @@
extends Panel
signal period_changed(period: String)
@onready var _daily_btn: Button = %DailyTabBtn
@onready var _weekly_btn: Button = %WeeklyTabBtn
@onready var _monthly_btn: Button = %MonthlyTabBtn
var _active := "daily"
func _ready() -> void:
_daily_btn.pressed.connect(_select.bind("daily"))
_weekly_btn.pressed.connect(_select.bind("weekly"))
_monthly_btn.pressed.connect(_select.bind("monthly"))
func _select(period: String) -> void:
if period == _active:
return
_active = period
_daily_btn.button_pressed = (period == "daily")
_weekly_btn.button_pressed = (period == "weekly")
_monthly_btn.button_pressed = (period == "monthly")
period_changed.emit(period)
+1
View File
@@ -0,0 +1 @@
uid://cas5sc40ampq1