More UI stuff, appmanager class, and appsettings
11
sessionzero/AppSettings.tres
Normal file
@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="ApplicationSettingsResource" load_steps=4 format=3 uid="uid://dwhgu0ywrt618"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ddh7o0nfsuo4k" path="res://src/scripts/custom_resources/ApplicationSettingsResource.cs" id="1_3gmkh"]
|
||||
[ext_resource type="PackedScene" uid="uid://djj22j6g14exe" path="res://src/scenes/main/MainUI.tscn" id="1_688px"]
|
||||
[ext_resource type="PackedScene" uid="uid://ble4w0555f45u" path="res://src/scenes/main/content_pages/home_page.tscn" id="2_tfier"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_3gmkh")
|
||||
MainUiScene = ExtResource("1_688px")
|
||||
Pages = Array[PackedScene]([ExtResource("2_tfier")])
|
||||
metadata/_custom_type_script = "uid://ddh7o0nfsuo4k"
|
@ -12,12 +12,17 @@ config_version=5
|
||||
|
||||
config/name="SessionZero"
|
||||
config/tags=PackedStringArray("c#")
|
||||
run/main_scene="uid://djj22j6g14exe"
|
||||
run/main_scene="uid://bv1ceq4dnkl7l"
|
||||
config/features=PackedStringArray("4.4", "C#", "GL Compatibility")
|
||||
boot_splash/bg_color=Color(0.101961, 0.12549, 0.180392, 1)
|
||||
boot_splash/fullsize=false
|
||||
boot_splash/image="uid://qnpvlqg85kx4"
|
||||
config/icon="res://resources/images/icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
AppManager="*res://src/scripts/AppManager.cs"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/window_width_override=1920
|
||||
|
@ -1,42 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="bars.svg"
|
||||
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="11.166667"
|
||||
inkscape:cx="23.820895"
|
||||
inkscape:cy="19.791045"
|
||||
inkscape:window-width="2327"
|
||||
inkscape:window-height="1281"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
stroke="currentColor"
|
||||
stroke-linecap="round"
|
||||
stroke-width="2"
|
||||
d="M5 7h14M5 12h14M5 17h14"
|
||||
id="path1"
|
||||
style="fill:#ffffff;stroke:#ffffff" />
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5 7h14M5 12h14M5 17h14" fill="#fff" stroke="#fff" stroke-linecap="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 220 B |
@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6.03v13m0-13c-2.819-.831-4.715-1.076-8.029-1.023A.99.99 0 0 0 3 6v11c0 .563.466 1.014 1.03 1.007 3.122-.043 5.018.212 7.97 1.023m0-13c2.819-.831 4.715-1.076 8.029-1.023A.99.99 0 0 1 21 6v11c0 .563-.466 1.014-1.03 1.007-3.122-.043-5.018.212-7.97 1.023"/>
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12 6.03v13m0-13c-2.819-.831-4.715-1.076-8.029-1.023A.99.99 0 0 0 3 6v11c0 .563.466 1.014 1.03 1.007 3.122-.043 5.018.212 7.97 1.023m0-13c2.819-.831 4.715-1.076 8.029-1.023A.99.99 0 0 1 21 6v11c0 .563-.466 1.014-1.03 1.007-3.122-.043-5.018.212-7.97 1.023" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 458 B After Width: | Height: | Size: 463 B |
@ -32,6 +32,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
svg/scale=5.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 5 9 4V3m5 2 1-1V3m-3 6v11m0-11a5 5 0 0 1 5 5m-5-5a5 5 0 0 0-5 5m5-5a4.959 4.959 0 0 1 2.973 1H15V8a3 3 0 0 0-6 0v2h.027A4.959 4.959 0 0 1 12 9Zm-5 5H5m2 0v2a5 5 0 0 0 10 0v-2m2.025 0H17m-9.975 4H6a1 1 0 0 0-1 1v2m12-3h1.025a1 1 0 0 1 1 1v2M16 11h1a1 1 0 0 0 1-1V8m-9.975 3H7a1 1 0 0 1-1-1V8"/>
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10 5 9 4V3m5 2 1-1V3m-3 6v11m0-11a5 5 0 0 1 5 5m-5-5a5 5 0 0 0-5 5m5-5a4.959 4.959 0 0 1 2.973 1H15V8a3 3 0 0 0-6 0v2h.027A4.959 4.959 0 0 1 12 9Zm-5 5H5m2 0v2a5 5 0 0 0 10 0v-2m2.025 0H17m-9.975 4H6a1 1 0 0 0-1 1v2m12-3h1.025a1 1 0 0 1 1 1v2M16 11h1a1 1 0 0 0 1-1V8m-9.975 3H7a1 1 0 0 1-1-1V8" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 498 B After Width: | Height: | Size: 503 B |
@ -32,6 +32,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
svg/scale=5.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13v-2a1 1 0 0 0-1-1h-.757l-.707-1.707.535-.536a1 1 0 0 0 0-1.414l-1.414-1.414a1 1 0 0 0-1.414 0l-.536.535L14 4.757V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v.757l-1.707.707-.536-.535a1 1 0 0 0-1.414 0L4.929 6.343a1 1 0 0 0 0 1.414l.536.536L4.757 10H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h.757l.707 1.707-.535.536a1 1 0 0 0 0 1.414l1.414 1.414a1 1 0 0 0 1.414 0l.536-.535 1.707.707V20a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-.757l1.707-.708.536.536a1 1 0 0 0 1.414 0l1.414-1.414a1 1 0 0 0 0-1.414l-.535-.536.707-1.707H20a1 1 0 0 0 1-1Z"/>
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/>
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21 13v-2a1 1 0 0 0-1-1h-.757l-.707-1.707.535-.536a1 1 0 0 0 0-1.414l-1.414-1.414a1 1 0 0 0-1.414 0l-.536.535L14 4.757V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v.757l-1.707.707-.536-.535a1 1 0 0 0-1.414 0L4.929 6.343a1 1 0 0 0 0 1.414l.536.536L4.757 10H4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h.757l.707 1.707-.535.536a1 1 0 0 0 0 1.414l1.414 1.414a1 1 0 0 0 1.414 0l.536-.535 1.707.707V20a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-.757l1.707-.708.536.536a1 1 0 0 0 1.414 0l1.414-1.414a1 1 0 0 0 0-1.414l-.535-.536.707-1.707H20a1 1 0 0 0 1-1Z" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
<path d="m12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 853 B After Width: | Height: | Size: 849 B |
@ -32,6 +32,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
svg/scale=5.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 6c0 1.657-3.134 3-7 3S5 7.657 5 6m14 0c0-1.657-3.134-3-7-3S5 4.343 5 6m14 0v6M5 6v6m0 0c0 1.657 3.134 3 7 3s7-1.343 7-3M5 12v6c0 1.657 3.134 3 7 3s7-1.343 7-3v-6"/>
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M19 6c0 1.657-3.134 3-7 3S5 7.657 5 6m14 0c0-1.657-3.134-3-7-3S5 4.343 5 6m14 0v6M5 6v6m0 0c0 1.657 3.134 3 7 3s7-1.343 7-3M5 12v6c0 1.657 3.134 3 7 3s7-1.343 7-3v-6" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 369 B After Width: | Height: | Size: 374 B |
@ -32,6 +32,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
svg/scale=5.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m4 12 8-8 8 8M6 10.5V19a1 1 0 0 0 1 1h3v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h3a1 1 0 0 0 1-1v-8.5"/>
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m4 12 8-8 8 8M6 10.5V19a1 1 0 0 0 1 1h3v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h3a1 1 0 0 0 1-1v-8.5" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 316 B |
@ -32,6 +32,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
svg/scale=5.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 6H5m2 3H5m2 3H5m2 3H5m2 3H5m11-1a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2M7 3h11a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm8 7a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z"/>
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7 6H5m2 3H5m2 3H5m2 3H5m2 3H5m11-1a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2M7 3h11a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm8 7a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 379 B |
@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0 0a8.949 8.949 0 0 0 4.951-1.488A3.987 3.987 0 0 0 13 16h-2a3.987 3.987 0 0 0-3.951 3.512A8.948 8.948 0 0 0 12 21Zm3-11a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"/>
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0 0a8.949 8.949 0 0 0 4.951-1.488A3.987 3.987 0 0 0 13 16h-2a3.987 3.987 0 0 0-3.951 3.512A8.948 8.948 0 0 0 12 21Zm3-11a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 391 B After Width: | Height: | Size: 396 B |
@ -32,6 +32,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
svg/scale=5.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
@ -1,3 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
|
||||
<path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M4.5 17H4a1 1 0 0 1-1-1 3 3 0 0 1 3-3h1m0-3.05A2.5 2.5 0 1 1 9 5.5M19.5 17h.5a1 1 0 0 0 1-1 3 3 0 0 0-3-3h-1m0-3.05a2.5 2.5 0 1 0-2-4.45m.5 13.5h-7a1 1 0 0 1-1-1 3 3 0 0 1 3-3h3a3 3 0 0 1 3 3 1 1 0 0 1-1 1Zm-1-9.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z"/>
|
||||
<svg width="24" height="24" fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M4.5 17H4a1 1 0 0 1-1-1 3 3 0 0 1 3-3h1m0-3.05A2.5 2.5 0 1 1 9 5.5M19.5 17h.5a1 1 0 0 0 1-1 3 3 0 0 0-3-3h-1m0-3.05a2.5 2.5 0 1 0-2-4.45m.5 13.5h-7a1 1 0 0 1-1-1 3 3 0 0 1 3-3h3a3 3 0 0 1 3 3 1 1 0 0 1-1 1Zm-1-9.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z" stroke="#fff" stroke-linecap="round" stroke-width="2"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 430 B After Width: | Height: | Size: 435 B |
@ -32,6 +32,6 @@ process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
svg/scale=5.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_resource type="Theme" load_steps=4 format=3 uid="uid://cy6doom358pb0"]
|
||||
[gd_resource type="Theme" load_steps=15 format=3 uid="uid://cy6doom358pb0"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gsqoc"]
|
||||
bg_color = Color(0.101961, 0.12549, 0.180392, 1)
|
||||
@ -9,15 +9,34 @@ corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
expand_margin_left = 24.0
|
||||
expand_margin_top = 24.0
|
||||
expand_margin_right = 24.0
|
||||
expand_margin_bottom = 24.0
|
||||
shadow_color = Color(0, 0, 0, 0.152941)
|
||||
shadow_size = 5
|
||||
shadow_offset = Vector2(3, 3)
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4nads"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_x2ak3"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_i4ejt"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i4ejt"]
|
||||
bg_color = Color(0.227451, 0.309804, 0.435294, 1)
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_0wthw"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dagba"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_xtbu8"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_hf3i3"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1nr78"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7adcq"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6bdnh"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_x2ak3"]
|
||||
bg_color = Color(0.101961, 0.12549, 0.180392, 1)
|
||||
shadow_color = Color(0, 0, 0, 0.235294)
|
||||
@ -27,6 +46,9 @@ shadow_offset = Vector2(3, 3)
|
||||
[resource]
|
||||
BackgroundPanel/base_type = &"Panel"
|
||||
BackgroundPanel/styles/panel = SubResource("StyleBoxFlat_gsqoc")
|
||||
ContentPageHeaderLabel/base_type = &"Label"
|
||||
ContentPageHeaderLabel/colors/font_color = Color(0.772549, 0.835294, 0.901961, 1)
|
||||
ContentPageHeaderLabel/font_sizes/font_size = 30
|
||||
ControlPanelButton/base_type = &"Panel"
|
||||
ControlPanelButton/styles/panel = SubResource("StyleBoxFlat_4nads")
|
||||
ControlPanelButtonDescriptionLabel/base_type = &"Label"
|
||||
@ -35,5 +57,18 @@ ControlPanelButtonDescriptionLabel/font_sizes/font_size = 14
|
||||
ControlPanelButtonHeaderLabel/base_type = &"Label"
|
||||
ControlPanelButtonHeaderLabel/colors/font_color = Color(0.772549, 0.835294, 0.901961, 1)
|
||||
ControlPanelButtonHeaderLabel/font_sizes/font_size = 25
|
||||
SideNavButton/base_type = &"Button"
|
||||
SideNavButton/constants/icon_max_width = 15
|
||||
SideNavButton/styles/disabled = SubResource("StyleBoxEmpty_4nads")
|
||||
SideNavButton/styles/disabled_mirrored = SubResource("StyleBoxEmpty_x2ak3")
|
||||
SideNavButton/styles/focus = SubResource("StyleBoxEmpty_i4ejt")
|
||||
SideNavButton/styles/hover = SubResource("StyleBoxFlat_i4ejt")
|
||||
SideNavButton/styles/hover_mirrored = SubResource("StyleBoxEmpty_0wthw")
|
||||
SideNavButton/styles/hover_pressed = SubResource("StyleBoxEmpty_dagba")
|
||||
SideNavButton/styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_xtbu8")
|
||||
SideNavButton/styles/normal = SubResource("StyleBoxEmpty_hf3i3")
|
||||
SideNavButton/styles/normal_mirrored = SubResource("StyleBoxEmpty_1nr78")
|
||||
SideNavButton/styles/pressed = SubResource("StyleBoxEmpty_7adcq")
|
||||
SideNavButton/styles/pressed_mirrored = SubResource("StyleBoxEmpty_6bdnh")
|
||||
SideNavigationPanel/base_type = &"Panel"
|
||||
SideNavigationPanel/styles/panel = SubResource("StyleBoxFlat_x2ak3")
|
||||
|
@ -1,26 +1,31 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://dik0j12wsrebk"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dik0j12wsrebk"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://2fms2mdp2fcr" path="res://src/scripts/scenes/controls/ControlPanelButton.cs" id="1_7ouv3"]
|
||||
[ext_resource type="Texture2D" uid="uid://led2qy4im1ir" path="res://resources/icons/outline/user/address-book.svg" id="1_ceptd"]
|
||||
[ext_resource type="Material" uid="uid://ct6poiml5fc2h" path="res://resources/shaders/InverShaderMaterial.tres" id="1_ubvdb"]
|
||||
|
||||
[node name="ControlPanelButton" type="Panel"]
|
||||
custom_minimum_size = Vector2(250, 150)
|
||||
custom_minimum_size = Vector2(300, 200)
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
theme_type_variation = &"ControlPanelButton"
|
||||
script = ExtResource("1_7ouv3")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_left = 15
|
||||
theme_override_constants/margin_top = 15
|
||||
theme_override_constants/margin_right = 15
|
||||
theme_override_constants/margin_bottom = 15
|
||||
|
||||
[node name="Icon" type="TextureRect" parent="VBoxContainer"]
|
||||
material = ExtResource("1_ubvdb")
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Icon" type="TextureRect" parent="MarginContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 40)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 6
|
||||
@ -28,14 +33,14 @@ texture = ExtResource("1_ceptd")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="HeaderLabel" type="Label" parent="VBoxContainer"]
|
||||
[node name="HeaderLabel" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 6
|
||||
theme_type_variation = &"ControlPanelButtonHeaderLabel"
|
||||
text = "Library"
|
||||
|
||||
[node name="DescriptionLabel" type="Label" parent="VBoxContainer"]
|
||||
[node name="DescriptionLabel" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(50, 0)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 6
|
||||
|
@ -3,6 +3,6 @@
|
||||
[node name="LibraryGridContainer" type="GridContainer"]
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 0
|
||||
theme_override_constants/h_separation = 80
|
||||
theme_override_constants/v_separation = 80
|
||||
theme_override_constants/h_separation = 20
|
||||
theme_override_constants/v_separation = 20
|
||||
columns = 2
|
3
sessionzero/src/scenes/main.tscn
Normal file
@ -0,0 +1,3 @@
|
||||
[gd_scene format=3 uid="uid://bv1ceq4dnkl7l"]
|
||||
|
||||
[node name="Main" type="Node"]
|
@ -1,17 +1,17 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://djj22j6g14exe"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://djj22j6g14exe"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://rbad8dldyf3k" path="res://src/scripts/scenes/main/MainUILogic.cs" id="1_jqcri"]
|
||||
[ext_resource type="Theme" uid="uid://cy6doom358pb0" path="res://resources/themes/main_theme.tres" id="1_w8y14"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1uk5lvcgwwng" path="res://resources/images/logo_800x800_transparent.png" id="2_gvps3"]
|
||||
[ext_resource type="Material" uid="uid://ct6poiml5fc2h" path="res://resources/shaders/InverShaderMaterial.tres" id="2_jqcri"]
|
||||
[ext_resource type="Texture2D" uid="uid://byj6qsopdu0d3" path="res://resources/icons/outline/general/bars.svg" id="2_ljdvm"]
|
||||
[ext_resource type="PackedScene" uid="uid://uw5lhfr2gtir" path="res://src/scenes/controls/library_grid_container.tscn" id="5_708wv"]
|
||||
[ext_resource type="PackedScene" uid="uid://dik0j12wsrebk" path="res://src/scenes/controls/control_panel_button.tscn" id="6_8fhmd"]
|
||||
[ext_resource type="Texture2D" uid="uid://du8ke5nyvbvb4" path="res://resources/icons/outline/general/home.svg" id="6_8fhmd"]
|
||||
[ext_resource type="Texture2D" uid="uid://btfy8wdc7wad" path="res://resources/icons/outline/general/book-open.svg" id="6_qkaxd"]
|
||||
[ext_resource type="Texture2D" uid="uid://dl1vmy617ucp0" path="res://resources/icons/outline/user/users-group.svg" id="7_6kp2r"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmdvoxtfpa4k5" path="res://resources/icons/outline/general/bug.svg" id="8_k8ybs"]
|
||||
[ext_resource type="Texture2D" uid="uid://bxa23hikofgyc" path="res://resources/icons/outline/user/user-circle.svg" id="9_k8ybs"]
|
||||
[ext_resource type="Texture2D" uid="uid://cstlfuft2ekqb" path="res://resources/icons/outline/general/cog.svg" id="10_di5gi"]
|
||||
|
||||
[node name="MainUICanvas" type="CanvasLayer"]
|
||||
follow_viewport_enabled = true
|
||||
|
||||
[node name="MainUI" type="Control" parent="." node_paths=PackedStringArray("HamburgerButton", "SideNavPanel", "MainContentContainer")]
|
||||
[node name="MainUI" type="Control" node_paths=PackedStringArray("HamburgerButton", "SideNavPanel", "MainContentContainer")]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@ -23,10 +23,10 @@ size_flags_vertical = 3
|
||||
script = ExtResource("1_jqcri")
|
||||
HamburgerButton = NodePath("BackgroundPanel/VBoxContainer/TopNavPanel/HBoxContainer/MarginContainer/HamburgerIcon")
|
||||
SideNavPanel = NodePath("BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel")
|
||||
MainContentContainer = NodePath("BackgroundPanel/VBoxContainer/MainGridContainer/MainContentMarginContainer")
|
||||
MainContentContainer = NodePath("BackgroundPanel/VBoxContainer/MainGridContainer/ScrollContainer/MainContentMarginContainer")
|
||||
_navPanelExpandedSize = 100
|
||||
|
||||
[node name="BackgroundPanel" type="Panel" parent="MainUI"]
|
||||
[node name="BackgroundPanel" type="Panel" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@ -36,7 +36,7 @@ grow_vertical = 2
|
||||
theme = ExtResource("1_w8y14")
|
||||
theme_type_variation = &"BackgroundPanel"
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MainUI/BackgroundPanel"]
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="BackgroundPanel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@ -45,13 +45,13 @@ grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="TopNavPanel" type="Panel" parent="MainUI/BackgroundPanel/VBoxContainer"]
|
||||
[node name="TopNavPanel" type="Panel" parent="BackgroundPanel/VBoxContainer"]
|
||||
z_index = 1
|
||||
custom_minimum_size = Vector2(0, 40)
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"SideNavigationPanel"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MainUI/BackgroundPanel/VBoxContainer/TopNavPanel"]
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="BackgroundPanel/VBoxContainer/TopNavPanel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@ -59,7 +59,7 @@ anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MainUI/BackgroundPanel/VBoxContainer/TopNavPanel/HBoxContainer"]
|
||||
[node name="MarginContainer" type="MarginContainer" parent="BackgroundPanel/VBoxContainer/TopNavPanel/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
@ -67,26 +67,25 @@ theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
|
||||
[node name="HamburgerIcon" type="TextureButton" parent="MainUI/BackgroundPanel/VBoxContainer/TopNavPanel/HBoxContainer/MarginContainer"]
|
||||
material = ExtResource("2_jqcri")
|
||||
[node name="HamburgerIcon" type="TextureButton" parent="BackgroundPanel/VBoxContainer/TopNavPanel/HBoxContainer/MarginContainer"]
|
||||
custom_minimum_size = Vector2(48, 0)
|
||||
layout_mode = 2
|
||||
texture_normal = ExtResource("2_ljdvm")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="MainGridContainer" type="GridContainer" parent="MainUI/BackgroundPanel/VBoxContainer"]
|
||||
[node name="MainGridContainer" type="GridContainer" parent="BackgroundPanel/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
columns = 2
|
||||
|
||||
[node name="SideNavPanel" type="Panel" parent="MainUI/BackgroundPanel/VBoxContainer/MainGridContainer"]
|
||||
[node name="SideNavPanel" type="Panel" parent="BackgroundPanel/VBoxContainer/MainGridContainer"]
|
||||
custom_minimum_size = Vector2(100, 0)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SideNavigationPanel"
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MainUI/BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel"]
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
@ -94,14 +93,20 @@ anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="MainUI/BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer"]
|
||||
[node name="MarginContainer" type="MarginContainer" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
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="MainUI/BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer"]
|
||||
[node name="NavButtonsVBox" type="VBoxContainer" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 10
|
||||
|
||||
[node name="NavbarIcon" type="TextureRect" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer/NavButtonsVBox"]
|
||||
custom_minimum_size = Vector2(40, 40)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
@ -110,11 +115,72 @@ texture = ExtResource("2_gvps3")
|
||||
expand_mode = 1
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="NavButtonsVBox" type="VBoxContainer" parent="MainUI/BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer"]
|
||||
[node name="HomeButton" type="Button" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer/NavButtonsVBox"]
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
layout_mode = 2
|
||||
tooltip_text = "Dashboard"
|
||||
theme_type_variation = &"SideNavButton"
|
||||
icon = ExtResource("6_8fhmd")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="LibraryButton" type="Button" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer/NavButtonsVBox"]
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
layout_mode = 2
|
||||
tooltip_text = "Library"
|
||||
theme_type_variation = &"SideNavButton"
|
||||
icon = ExtResource("6_qkaxd")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="CharactersButton" type="Button" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer/NavButtonsVBox"]
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
layout_mode = 2
|
||||
tooltip_text = "Characters"
|
||||
theme_type_variation = &"SideNavButton"
|
||||
icon = ExtResource("7_6kp2r")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="AdvancedButton" type="Button" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer/NavButtonsVBox"]
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
layout_mode = 2
|
||||
tooltip_text = "Advanced"
|
||||
theme_type_variation = &"SideNavButton"
|
||||
icon = ExtResource("8_k8ybs")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="HFlowContainer" type="HFlowContainer" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer/NavButtonsVBox"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 10
|
||||
|
||||
[node name="ProfileButton" type="Button" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer/NavButtonsVBox/HFlowContainer"]
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
tooltip_text = "Profile"
|
||||
theme_type_variation = &"SideNavButton"
|
||||
icon = ExtResource("9_k8ybs")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="SettingsButton" type="Button" parent="BackgroundPanel/VBoxContainer/MainGridContainer/SideNavPanel/VBoxContainer/MarginContainer/NavButtonsVBox/HFlowContainer"]
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
tooltip_text = "Settings"
|
||||
theme_type_variation = &"SideNavButton"
|
||||
icon = ExtResource("10_di5gi")
|
||||
icon_alignment = 1
|
||||
expand_icon = true
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="BackgroundPanel/VBoxContainer/MainGridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="MainContentMarginContainer" type="MarginContainer" parent="MainUI/BackgroundPanel/VBoxContainer/MainGridContainer"]
|
||||
[node name="MainContentMarginContainer" type="MarginContainer" parent="BackgroundPanel/VBoxContainer/MainGridContainer/ScrollContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
@ -122,9 +188,3 @@ theme_override_constants/margin_left = 50
|
||||
theme_override_constants/margin_top = 50
|
||||
theme_override_constants/margin_right = 50
|
||||
theme_override_constants/margin_bottom = 50
|
||||
|
||||
[node name="LibraryGridContainer" parent="MainUI/BackgroundPanel/VBoxContainer/MainGridContainer/MainContentMarginContainer" instance=ExtResource("5_708wv")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ControlPanelButton" parent="MainUI/BackgroundPanel/VBoxContainer/MainGridContainer/MainContentMarginContainer/LibraryGridContainer" instance=ExtResource("6_8fhmd")]
|
||||
layout_mode = 2
|
||||
|
62
sessionzero/src/scenes/main/content_pages/home_page.tscn
Normal file
@ -0,0 +1,62 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://ble4w0555f45u"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bgidhyuhh4q7m" path="res://src/scripts/scenes/controls/content_page_panel_template.tscn" id="1_o7g64"]
|
||||
[ext_resource type="Script" uid="uid://bnum2abqdmr4y" path="res://src/scripts/scenes/main/content_pages/HomeContentPage.cs" id="1_p4fm1"]
|
||||
[ext_resource type="PackedScene" uid="uid://uw5lhfr2gtir" path="res://src/scenes/controls/library_grid_container_template.tscn" id="2_dau57"]
|
||||
[ext_resource type="PackedScene" uid="uid://dik0j12wsrebk" path="res://src/scenes/controls/control_panel_button.tscn" id="3_on1wh"]
|
||||
[ext_resource type="Texture2D" uid="uid://dn6obwwyar2er" path="res://resources/icons/outline/general/database.svg" id="4_p4fm1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dl1vmy617ucp0" path="res://resources/icons/outline/user/users-group.svg" id="5_on1wh"]
|
||||
|
||||
[node name="HomePage" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_p4fm1")
|
||||
|
||||
[node name="ContentPagePanel" parent="." instance=ExtResource("1_o7g64")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="HeaderLabel" parent="ContentPagePanel/VBoxContainer" index="0"]
|
||||
text = "Dashboard"
|
||||
|
||||
[node name="SubHeaderLabel" parent="ContentPagePanel/VBoxContainer" index="2"]
|
||||
visible = false
|
||||
|
||||
[node name="HSeparator2" parent="ContentPagePanel/VBoxContainer" index="3"]
|
||||
visible = false
|
||||
|
||||
[node name="LibraryGridContainer" parent="ContentPagePanel/VBoxContainer/ContentPanel" index="0" instance=ExtResource("2_dau57")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="LibraryControlPanelButton" parent="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer" instance=ExtResource("3_on1wh")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Icon" parent="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer/LibraryControlPanelButton/MarginContainer/VBoxContainer" index="0"]
|
||||
texture = ExtResource("4_p4fm1")
|
||||
|
||||
[node name="CharactersControlPanelButton2" parent="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer" instance=ExtResource("3_on1wh")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Icon" parent="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer/CharactersControlPanelButton2/MarginContainer/VBoxContainer" index="0"]
|
||||
texture = ExtResource("5_on1wh")
|
||||
|
||||
[node name="HeaderLabel" parent="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer/CharactersControlPanelButton2/MarginContainer/VBoxContainer" index="1"]
|
||||
text = "Characters"
|
||||
|
||||
[node name="DescriptionLabel" parent="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer/CharactersControlPanelButton2/MarginContainer/VBoxContainer" index="2"]
|
||||
text = "Create and manage Characters"
|
||||
|
||||
[editable path="ContentPagePanel"]
|
||||
[editable path="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer"]
|
||||
[editable path="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer/LibraryControlPanelButton"]
|
||||
[editable path="ContentPagePanel/VBoxContainer/ContentPanel/LibraryGridContainer/CharactersControlPanelButton2"]
|
70
sessionzero/src/scripts/AppManager.cs
Normal file
@ -0,0 +1,70 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SessionZeroApp;
|
||||
|
||||
public partial class AppManager : Node
|
||||
{
|
||||
public static AppManager Instance { get; private set; }
|
||||
|
||||
public ApplicationSettingsResource AppSettings { get; private set; }
|
||||
public CanvasLayer MainCanvas { get; private set; }
|
||||
public Node MainNode { get; private set; }
|
||||
public MainUILogic MainUI { get; private set; }
|
||||
|
||||
public Dictionary<string, ContentPageBase> Pages { get; private set; } = [];
|
||||
|
||||
private PackedScene _mainUiScene;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
Instance = this;
|
||||
|
||||
try
|
||||
{
|
||||
AppSettings = ResourceLoader.Load<ApplicationSettingsResource>("res://AppSettings.tres");
|
||||
}
|
||||
catch (InvalidCastException e)
|
||||
{
|
||||
GD.PrintErr($"Failed to get the AppSettings resource: {e}");
|
||||
return;
|
||||
}
|
||||
|
||||
_mainUiScene = AppSettings.MainUiScene;
|
||||
|
||||
foreach (var scene in AppSettings.Pages)
|
||||
{
|
||||
try
|
||||
{
|
||||
var newPage = scene.Instantiate<ContentPageBase>();
|
||||
Pages[newPage.PageName] = newPage;
|
||||
}
|
||||
catch (InvalidCastException e)
|
||||
{
|
||||
GD.PrintErr($"Couldn't add page '{scene}': {e}");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MainCanvas = new();
|
||||
GetTree().Root.CallDeferred("add_child", MainCanvas);
|
||||
|
||||
MainNode = GetTree().Root.GetNode<Node>("Main");
|
||||
|
||||
try
|
||||
{
|
||||
MainUI = _mainUiScene.Instantiate<MainUILogic>();
|
||||
}
|
||||
catch (InvalidCastException e)
|
||||
{
|
||||
GD.PrintErr($"Failed to setup the MainUI scene: {e}");
|
||||
return;
|
||||
}
|
||||
|
||||
MainCanvas.AddChild(MainUI);
|
||||
|
||||
MainUI.LoadPageContent(Pages["Home"]);
|
||||
}
|
||||
}
|
1
sessionzero/src/scripts/AppManager.cs.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://ceq1itkqfqmag
|
@ -0,0 +1,10 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
[GlobalClass]
|
||||
public partial class ApplicationSettingsResource : Resource
|
||||
{
|
||||
[ExportCategory("Setup")]
|
||||
[Export] public PackedScene MainUiScene;
|
||||
[Export] public Godot.Collections.Array<PackedScene> Pages { get; private set; }
|
||||
}
|
@ -0,0 +1 @@
|
||||
uid://ddh7o0nfsuo4k
|
@ -0,0 +1,8 @@
|
||||
using Godot;
|
||||
|
||||
public partial class ContentPageBase : Control
|
||||
{
|
||||
[Export] public virtual string PageName { get; protected set; }
|
||||
|
||||
|
||||
}
|
@ -0,0 +1 @@
|
||||
uid://c2uo34okr8gj5
|
@ -1,6 +1,8 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
namespace SessionZeroApp;
|
||||
|
||||
public partial class ControlPanelButton : Panel
|
||||
{
|
||||
|
||||
|
@ -0,0 +1,45 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://bgidhyuhh4q7m"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8fhmd"]
|
||||
|
||||
[sub_resource type="StyleBoxLine" id="StyleBoxLine_jqcri"]
|
||||
color = Color(0, 0, 0, 0)
|
||||
thickness = 0
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jqcri"]
|
||||
|
||||
[node name="ContentPagePanel" type="PanelContainer"]
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_8fhmd")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HeaderLabel" type="Label" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"ContentPageHeaderLabel"
|
||||
text = "Header"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
theme_override_styles/separator = SubResource("StyleBoxLine_jqcri")
|
||||
|
||||
[node name="SubHeaderLabel" type="Label" parent="VBoxContainer"]
|
||||
custom_minimum_size = Vector2(20, 0)
|
||||
layout_mode = 2
|
||||
text = "Subheader"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 10
|
||||
theme_override_styles/separator = SubResource("StyleBoxLine_jqcri")
|
||||
|
||||
[node name="ContentPanel" type="PanelContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_jqcri")
|
@ -1,9 +1,11 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
namespace SessionZeroApp;
|
||||
|
||||
public partial class MainUILogic : Control
|
||||
{
|
||||
[ExportGroup("Node Exports")]
|
||||
[ExportGroup("Node Exports")]
|
||||
[Export] public TextureButton HamburgerButton;
|
||||
[Export] public Panel SideNavPanel;
|
||||
[Export] public MarginContainer MainContentContainer;
|
||||
@ -20,14 +22,9 @@ public partial class MainUILogic : Control
|
||||
_sideNavVBox = SideNavPanel.GetNode<VBoxContainer>("VBoxContainer");
|
||||
|
||||
SetupButtonConnections();
|
||||
|
||||
var cpbTest = GetNode<ControlPanelButton>("BackgroundPanel/VBoxContainer/MainGridContainer/MainContentMarginContainer/LibraryGridContainer/ControlPanelButton");
|
||||
|
||||
cpbTest.Pressed += () => { GD.Print("AYYYYYY"); };
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void SetupButtonConnections()
|
||||
{
|
||||
HamburgerButton.Pressed += () => {ToggleSideNav();};
|
||||
@ -51,7 +48,15 @@ public partial class MainUILogic : Control
|
||||
_sideNavTween.TweenProperty(_sideNavVBox, "modulate:a", targetAlpha, 0.2f);
|
||||
|
||||
_sideNavToggled = !_sideNavToggled;
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void LoadPageContent(Control pageContent)
|
||||
{
|
||||
foreach (var child in MainContentContainer.GetChildren())
|
||||
{
|
||||
RemoveChild(child);
|
||||
}
|
||||
|
||||
MainContentContainer.AddChild(pageContent);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,12 @@
|
||||
using Godot;
|
||||
|
||||
public partial class HomeContentPage : ContentPageBase
|
||||
{
|
||||
|
||||
public override string PageName { get; protected set; } = "Home";
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
uid://bnum2abqdmr4y
|