Adds student login screen
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ce2dk2so7yo85"
|
||||
path="res://.godot/imported/button_symbol01_down.png-6a637f4e323963480f35f75b8d9b21df.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol01_down.png"
|
||||
dest_files=["res://.godot/imported/button_symbol01_down.png-6a637f4e323963480f35f75b8d9b21df.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://de8087qre3hqd"
|
||||
path="res://.godot/imported/button_symbol01_up.png-fc4e63118efa81329fa90d9f59c724e7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol01_up.png"
|
||||
dest_files=["res://.godot/imported/button_symbol01_up.png-fc4e63118efa81329fa90d9f59c724e7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 6.4 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cghxguj0vdhx7"
|
||||
path="res://.godot/imported/button_symbol02_down.png-e368b7b3c6388780f373ebd468e634e0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol02_down.png"
|
||||
dest_files=["res://.godot/imported/button_symbol02_down.png-e368b7b3c6388780f373ebd468e634e0.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 7.1 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cq6ctjti7nroe"
|
||||
path="res://.godot/imported/button_symbol02_up.png-469684a601c7346f07913cd101156a7d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol02_up.png"
|
||||
dest_files=["res://.godot/imported/button_symbol02_up.png-469684a601c7346f07913cd101156a7d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://da7g76llxx8t5"
|
||||
path="res://.godot/imported/button_symbol03_down.png-6613094d878b584bffa14b4ab15dcc57.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol03_down.png"
|
||||
dest_files=["res://.godot/imported/button_symbol03_down.png-6613094d878b584bffa14b4ab15dcc57.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bxrtewrqlop6h"
|
||||
path="res://.godot/imported/button_symbol03_up.png-901524e9d6d764140cf56b063e28ecc2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol03_up.png"
|
||||
dest_files=["res://.godot/imported/button_symbol03_up.png-901524e9d6d764140cf56b063e28ecc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c6od4ikuean3f"
|
||||
path="res://.godot/imported/button_symbol04_down.png-501ce2a0c449457ef762a0299795a5f0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol04_down.png"
|
||||
dest_files=["res://.godot/imported/button_symbol04_down.png-501ce2a0c449457ef762a0299795a5f0.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 9.3 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bh7toiwhvln0v"
|
||||
path="res://.godot/imported/button_symbol04_up.png-c63028c9326efc438b914fde66fe4929.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol04_up.png"
|
||||
dest_files=["res://.godot/imported/button_symbol04_up.png-c63028c9326efc438b914fde66fe4929.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ch87nxu2c0vf8"
|
||||
path="res://.godot/imported/button_symbol05_down.png-5cd0847755fe84c215f7a7407e29fe47.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol05_down.png"
|
||||
dest_files=["res://.godot/imported/button_symbol05_down.png-5cd0847755fe84c215f7a7407e29fe47.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 8.5 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d18rbiborhmow"
|
||||
path="res://.godot/imported/button_symbol05_up.png-2e6961e430e0fd6bebe5c951139a81b0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol05_up.png"
|
||||
dest_files=["res://.godot/imported/button_symbol05_up.png-2e6961e430e0fd6bebe5c951139a81b0.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dce53jiyk6gy6"
|
||||
path="res://.godot/imported/button_symbol06_down.png-f8773bcff4308b4dc57094938daeaab4.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol06_down.png"
|
||||
dest_files=["res://.godot/imported/button_symbol06_down.png-f8773bcff4308b4dc57094938daeaab4.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://eg5jrfombxb8"
|
||||
path="res://.godot/imported/button_symbol06_up.png-f8a3e511c2f0ae8ec428986a5e4dcd12.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_symbol06_up.png"
|
||||
dest_files=["res://.godot/imported/button_symbol06_up.png-f8a3e511c2f0ae8ec428986a5e4dcd12.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://g2igusggq16s"
|
||||
path="res://.godot/imported/button_teacher_0.png-57a64c880117d477bb7284ad1d9020ae.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_teacher_0.png"
|
||||
dest_files=["res://.godot/imported/button_teacher_0.png-57a64c880117d477bb7284ad1d9020ae.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b4xm8a5y2lf3h"
|
||||
path="res://.godot/imported/button_teacher_1.png-96a88964da2971d6834e2385474b021e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/button_teacher_1.png"
|
||||
dest_files=["res://.godot/imported/button_teacher_1.png-96a88964da2971d6834e2385474b021e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 147 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d3rhl050u0ahl"
|
||||
path="res://.godot/imported/password_background.png-6cae367f4dcff551398f76cfd245c9cc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/password_background.png"
|
||||
dest_files=["res://.godot/imported/password_background.png-6cae367f4dcff551398f76cfd245c9cc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b6vmq2e1krf6c"
|
||||
path="res://.godot/imported/symbol01.png-06a805f5f175054ad40571eaeb0c829f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/symbol01.png"
|
||||
dest_files=["res://.godot/imported/symbol01.png-06a805f5f175054ad40571eaeb0c829f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c1orskmogfiy1"
|
||||
path="res://.godot/imported/symbol02.png-d08af7201f383a112fa04f2ae4cbc694.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/symbol02.png"
|
||||
dest_files=["res://.godot/imported/symbol02.png-d08af7201f383a112fa04f2ae4cbc694.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dgjpftdenxiws"
|
||||
path="res://.godot/imported/symbol03.png-099345b780c50ea1452ffc753aeae618.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/symbol03.png"
|
||||
dest_files=["res://.godot/imported/symbol03.png-099345b780c50ea1452ffc753aeae618.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d0xbr0j3p8870"
|
||||
path="res://.godot/imported/symbol04.png-9a22b232eb56dd33351907ec01d49b7f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/symbol04.png"
|
||||
dest_files=["res://.godot/imported/symbol04.png-9a22b232eb56dd33351907ec01d49b7f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://co15ohrd680cp"
|
||||
path="res://.godot/imported/symbol05.png-77b3ea153b016d0fcf8ea5dcd9c960d2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/symbol05.png"
|
||||
dest_files=["res://.godot/imported/symbol05.png-77b3ea153b016d0fcf8ea5dcd9c960d2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c7722ryyuihhr"
|
||||
path="res://.godot/imported/symbol06.png-b0ea536779fcef916498888b7cccd0ca.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/login/symbol06.png"
|
||||
dest_files=["res://.godot/imported/symbol06.png-b0ea536779fcef916498888b7cccd0ca.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://cbxvt04wbuyh2"
|
||||
path="res://.godot/imported/intro_title_card.mp3-3b83225f716b054a6c3c15692c7b6581.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/menus/main/intro_title_card.mp3"
|
||||
dest_files=["res://.godot/imported/intro_title_card.mp3-3b83225f716b054a6c3c15692c7b6581.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://dc4a654slbfd"
|
||||
path="res://.godot/imported/login_screen_feedback_right_password.mp3-b91044c450bf67b3ef249a7be27262eb.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://language_resources/fr/main_menu/audio/login_screen_feedback_right_password.mp3"
|
||||
dest_files=["res://.godot/imported/login_screen_feedback_right_password.mp3-b91044c450bf67b3ef249a7be27262eb.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://cejatrmdq5wg5"
|
||||
path="res://.godot/imported/login_screen_feedback_wrong_password.mp3-9b0b53527c0df2baaa5b3a9235099152.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://language_resources/fr/main_menu/audio/login_screen_feedback_wrong_password.mp3"
|
||||
dest_files=["res://.godot/imported/login_screen_feedback_wrong_password.mp3-9b0b53527c0df2baaa5b3a9235099152.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://bu3iq5sp8r08s"
|
||||
path="res://.godot/imported/login_screen_help_code.mp3-90628bf10f58c1d2e83e7981853e2416.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://language_resources/fr/main_menu/audio/login_screen_help_code.mp3"
|
||||
dest_files=["res://.godot/imported/login_screen_help_code.mp3-90628bf10f58c1d2e83e7981853e2416.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://dh4s43i5pmn2p"
|
||||
path="res://.godot/imported/login_screen_tuto_code_oneshot.mp3-b6cda78e1baaf2a0be5df95a55d8a6df.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://language_resources/fr/main_menu/audio/login_screen_tuto_code_oneshot.mp3"
|
||||
dest_files=["res://.godot/imported/login_screen_tuto_code_oneshot.mp3-b6cda78e1baaf2a0be5df95a55d8a6df.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -6,17 +6,17 @@ class_name DeviceSettings
|
||||
language = value
|
||||
Database.language = value
|
||||
TranslationServer.set_locale(value)
|
||||
|
||||
@export var teacher : String
|
||||
@export var device_id : String
|
||||
@export var device_id : int
|
||||
|
||||
|
||||
# List of current known logins for teachers
|
||||
const possible_logins: = {
|
||||
"kalulu" : "kalulu",
|
||||
}
|
||||
|
||||
|
||||
func _init():
|
||||
|
||||
# Gets the OS language and Checks if it is supported
|
||||
var osLanguage = OS.get_locale_language();
|
||||
if osLanguage and osLanguage in DirAccess.open("res://language_resources").get_directories():
|
||||
@@ -26,4 +26,10 @@ func _init():
|
||||
language = "fr"
|
||||
|
||||
teacher = ""
|
||||
device_id = ""
|
||||
device_id = 0
|
||||
|
||||
|
||||
func get_folder_path() -> String:
|
||||
var file_path := "user://" + teacher + "/" + str(device_id) + "/" + language + "/"
|
||||
return file_path
|
||||
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
extends Control
|
||||
|
||||
# [123, 124, 125, 126, 132, 134, 135, 136, 142, 143, 145, 146, 152, 153, 154, 213, 214, 215, 216, 231, 234, 235, 236, 241, 243, 245, 246, 251, 253, 254, 321, 324, 325, 326, 312, 314, 315, 316, 342, 341, 345, 346, 352, 351, 354, 423, 421, 425, 426, 432, 431, 435, 436, 412, 413, 415, 416, 452, 453, 451, 523, 524, 521, 526, 532, 534, 531, 536, 542, 543, 541, 546, 512, 513, 514, 623, 624, 625, 621, 632, 634, 635, 631, 642, 643, 645, 641, 652, 653, 654]
|
||||
|
||||
const back_scene_path: = "res://sources/menus/main/main_menu.tscn"
|
||||
const next_scene_path: = "res://sources/menus/minigame_selection.tscn"
|
||||
const icons_textures = [
|
||||
preload("res://assets/menus/login/symbol01.png"),
|
||||
preload("res://assets/menus/login/symbol02.png"),
|
||||
preload("res://assets/menus/login/symbol03.png"),
|
||||
preload("res://assets/menus/login/symbol04.png"),
|
||||
preload("res://assets/menus/login/symbol05.png"),
|
||||
preload("res://assets/menus/login/symbol06.png")
|
||||
]
|
||||
const help_speech_path : String = "main_menu/audio/login_screen_help_code.mp3"
|
||||
const wrong_password_speech_path : String = "main_menu/audio/login_screen_feedback_wrong_password.mp3"
|
||||
const right_password_speech_path : String = "main_menu/audio/login_screen_feedback_right_password.mp3"
|
||||
|
||||
|
||||
@onready var kalulu: Control = $Kalulu
|
||||
@onready var music_player : AudioStreamPlayer = $MusicStreamPlayer
|
||||
@onready var buttons: GridContainer = $Buttons
|
||||
@onready var icons : HBoxContainer = $Icons
|
||||
@onready var teacher_timer : Timer = $InterfaceRight/TeacherButton/TeacherTimer
|
||||
|
||||
var password : Array = []
|
||||
|
||||
func _ready():
|
||||
# Connect buttons
|
||||
for button in buttons.get_children(false):
|
||||
button.connect("pressed", _on_button_pressed.bind(button))
|
||||
|
||||
await kalulu.play_kalulu_speech(Database.get_audio_stream_for_path(help_speech_path))
|
||||
|
||||
# music_player.stream = load("res://assets/menus/main/intro_title_card.mp3")
|
||||
# music_player.play()
|
||||
|
||||
|
||||
func _reset_password():
|
||||
password = []
|
||||
for button in buttons.get_children(false):
|
||||
button.set_modulate(Color(1,1,1))
|
||||
button.set_disabled(false)
|
||||
|
||||
for icon in icons.get_children(false):
|
||||
icon.texture = null
|
||||
|
||||
|
||||
func _on_button_pressed(button : TextureButton):
|
||||
|
||||
var index : int = button.name.to_int()
|
||||
|
||||
password.append(button.name)
|
||||
|
||||
button.set_modulate(Color(0.5,0.5,0.5))
|
||||
button.set_disabled(true)
|
||||
|
||||
var password_size = password.size()
|
||||
|
||||
var test = icons.get_node(str(password_size))
|
||||
test.texture = icons_textures[index-1]
|
||||
|
||||
if password_size == 3:
|
||||
_check_password()
|
||||
|
||||
|
||||
func _check_password():
|
||||
var test = ""
|
||||
for char_ in password:
|
||||
test += char_
|
||||
|
||||
if test == "123":
|
||||
await kalulu.play_kalulu_speech(Database.get_audio_stream_for_path(right_password_speech_path))
|
||||
|
||||
UserDataManager.student = test
|
||||
|
||||
get_tree().change_scene_to_file(next_scene_path)
|
||||
else:
|
||||
await kalulu.play_kalulu_speech(Database.get_audio_stream_for_path(wrong_password_speech_path))
|
||||
_reset_password()
|
||||
|
||||
|
||||
func _on_back_button_pressed():
|
||||
get_tree().change_scene_to_file(back_scene_path)
|
||||
|
||||
|
||||
func _on_kalulu_button_pressed():
|
||||
kalulu.play_kalulu_speech(Database.get_audio_stream_for_path(help_speech_path))
|
||||
|
||||
|
||||
func _on_teacher_button_button_down():
|
||||
teacher_timer.start()
|
||||
|
||||
|
||||
func _on_teacher_button_button_up():
|
||||
teacher_timer.stop()
|
||||
|
||||
|
||||
func _on_teacher_timer_timeout():
|
||||
# TODO
|
||||
print("Teacher screen")
|
||||
|
||||
|
||||
func _on_music_stream_player_finished():
|
||||
music_player.stream_paused = false
|
||||
music_player.play()
|
||||
@@ -0,0 +1,212 @@
|
||||
[gd_scene load_steps=25 format=3 uid="uid://2wab3q35ssta"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d3rhl050u0ahl" path="res://assets/menus/login/password_background.png" id="1_mw5cp"]
|
||||
[ext_resource type="Script" path="res://sources/menus/login/login.gd" id="1_spyuf"]
|
||||
[ext_resource type="PackedScene" uid="uid://blos4rn53qkwg" path="res://sources/minigames/base/kalulu.tscn" id="3_5b1v0"]
|
||||
[ext_resource type="Texture2D" uid="uid://wtx3wqs0l4si" path="res://assets/minigames/minigame_ui/graphic/button_back_up.png" id="4_3vuah"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbhip35yyqneg" path="res://assets/minigames/minigame_ui/graphic/button_back_down.png" id="5_vd33f"]
|
||||
[ext_resource type="Texture2D" uid="uid://tcapan0mj64o" path="res://assets/minigames/minigame_ui/graphic/button_back_disabled.png" id="6_0dhup"]
|
||||
[ext_resource type="Texture2D" uid="uid://iw84x6mx8h2g" path="res://assets/minigames/minigame_ui/graphic/button_kalulu_up.png" id="7_2wdoi"]
|
||||
[ext_resource type="Texture2D" uid="uid://ub1dnysbojn8" path="res://assets/minigames/minigame_ui/graphic/button_kalulu_down.png" id="8_nxlxw"]
|
||||
[ext_resource type="Texture2D" uid="uid://b4xm8a5y2lf3h" path="res://assets/menus/login/button_teacher_1.png" id="9_7lscf"]
|
||||
[ext_resource type="Texture2D" uid="uid://crnxawhf68po3" path="res://assets/minigames/minigame_ui/graphic/button_kalulu_disabled.png" id="9_k74e3"]
|
||||
[ext_resource type="Texture2D" uid="uid://de8087qre3hqd" path="res://assets/menus/login/button_symbol01_up.png" id="10_kigl0"]
|
||||
[ext_resource type="Texture2D" uid="uid://g2igusggq16s" path="res://assets/menus/login/button_teacher_0.png" id="10_ro1l5"]
|
||||
[ext_resource type="Texture2D" uid="uid://ce2dk2so7yo85" path="res://assets/menus/login/button_symbol01_down.png" id="11_fs1ex"]
|
||||
[ext_resource type="Texture2D" uid="uid://cq6ctjti7nroe" path="res://assets/menus/login/button_symbol02_up.png" id="12_ygmrs"]
|
||||
[ext_resource type="Texture2D" uid="uid://cghxguj0vdhx7" path="res://assets/menus/login/button_symbol02_down.png" id="13_ghp6c"]
|
||||
[ext_resource type="Texture2D" uid="uid://bxrtewrqlop6h" path="res://assets/menus/login/button_symbol03_up.png" id="14_ap24d"]
|
||||
[ext_resource type="Texture2D" uid="uid://da7g76llxx8t5" path="res://assets/menus/login/button_symbol03_down.png" id="15_wh2p6"]
|
||||
[ext_resource type="Texture2D" uid="uid://bh7toiwhvln0v" path="res://assets/menus/login/button_symbol04_up.png" id="16_5ip8d"]
|
||||
[ext_resource type="Texture2D" uid="uid://c6od4ikuean3f" path="res://assets/menus/login/button_symbol04_down.png" id="17_876tw"]
|
||||
[ext_resource type="Texture2D" uid="uid://d18rbiborhmow" path="res://assets/menus/login/button_symbol05_up.png" id="18_6ncp7"]
|
||||
[ext_resource type="Texture2D" uid="uid://ch87nxu2c0vf8" path="res://assets/menus/login/button_symbol05_down.png" id="19_ty7yo"]
|
||||
[ext_resource type="Texture2D" uid="uid://eg5jrfombxb8" path="res://assets/menus/login/button_symbol06_up.png" id="20_xaifc"]
|
||||
[ext_resource type="Texture2D" uid="uid://dce53jiyk6gy6" path="res://assets/menus/login/button_symbol06_down.png" id="21_banah"]
|
||||
[ext_resource type="AudioStream" uid="uid://b8pn5vqgp6jlt" path="res://assets/menus/main/ui_title_card_music.mp3" id="22_w2yxs"]
|
||||
|
||||
[node name="Login" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_spyuf")
|
||||
|
||||
[node name="Background" type="TextureRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("1_mw5cp")
|
||||
|
||||
[node name="InterfaceLeft" type="MarginContainer" parent="."]
|
||||
custom_minimum_size = Vector2(450, 0)
|
||||
layout_mode = 1
|
||||
anchors_preset = 9
|
||||
anchor_bottom = 1.0
|
||||
grow_vertical = 2
|
||||
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="Container" type="VBoxContainer" parent="InterfaceLeft"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="BackButton" type="TextureButton" parent="InterfaceLeft/Container"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
size_flags_stretch_ratio = 4.0
|
||||
texture_normal = ExtResource("4_3vuah")
|
||||
texture_pressed = ExtResource("5_vd33f")
|
||||
texture_disabled = ExtResource("6_0dhup")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="KaluluButton" type="TextureButton" parent="InterfaceLeft/Container"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("7_2wdoi")
|
||||
texture_pressed = ExtResource("8_nxlxw")
|
||||
texture_disabled = ExtResource("9_k74e3")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="InterfaceRight" type="MarginContainer" parent="."]
|
||||
custom_minimum_size = Vector2(450, 0)
|
||||
layout_mode = 1
|
||||
anchors_preset = 11
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -450.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 2
|
||||
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="TeacherButton" type="TextureButton" parent="InterfaceRight"]
|
||||
custom_minimum_size = Vector2(0, 140)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 8
|
||||
texture_normal = ExtResource("9_7lscf")
|
||||
texture_pressed = ExtResource("10_ro1l5")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="TeacherTimer" type="Timer" parent="InterfaceRight/TeacherButton"]
|
||||
wait_time = 5.0
|
||||
|
||||
[node name="Icons" type="HBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -676.0
|
||||
offset_top = -565.0
|
||||
offset_right = 676.0
|
||||
offset_bottom = -145.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 46
|
||||
|
||||
[node name="1" type="TextureRect" parent="Icons"]
|
||||
custom_minimum_size = Vector2(420, 420)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="2" type="TextureRect" parent="Icons"]
|
||||
custom_minimum_size = Vector2(420, 420)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="3" type="TextureRect" parent="Icons"]
|
||||
custom_minimum_size = Vector2(420, 420)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="Buttons" type="GridContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.203125
|
||||
anchor_top = 0.573333
|
||||
anchor_right = 0.796875
|
||||
anchor_bottom = 0.96
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_constants/h_separation = 25
|
||||
theme_override_constants/v_separation = 25
|
||||
columns = 2
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="1" type="TextureButton" parent="Buttons"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("10_kigl0")
|
||||
texture_pressed = ExtResource("11_fs1ex")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="2" type="TextureButton" parent="Buttons"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("12_ygmrs")
|
||||
texture_pressed = ExtResource("13_ghp6c")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="3" type="TextureButton" parent="Buttons"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("14_ap24d")
|
||||
texture_pressed = ExtResource("15_wh2p6")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="4" type="TextureButton" parent="Buttons"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("16_5ip8d")
|
||||
texture_pressed = ExtResource("17_876tw")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="5" type="TextureButton" parent="Buttons"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("18_6ncp7")
|
||||
texture_pressed = ExtResource("19_ty7yo")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="6" type="TextureButton" parent="Buttons"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("20_xaifc")
|
||||
texture_pressed = ExtResource("21_banah")
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Kalulu" parent="." instance=ExtResource("3_5b1v0")]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
|
||||
[node name="MusicStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("22_w2yxs")
|
||||
autoplay = true
|
||||
|
||||
[connection signal="pressed" from="InterfaceLeft/Container/BackButton" to="." method="_on_back_button_pressed"]
|
||||
[connection signal="pressed" from="InterfaceLeft/Container/KaluluButton" to="." method="_on_kalulu_button_pressed"]
|
||||
[connection signal="button_down" from="InterfaceRight/TeacherButton" to="." method="_on_teacher_button_button_down"]
|
||||
[connection signal="button_up" from="InterfaceRight/TeacherButton" to="." method="_on_teacher_button_button_up"]
|
||||
[connection signal="timeout" from="InterfaceRight/TeacherButton/TeacherTimer" to="." method="_on_teacher_timer_timeout"]
|
||||
[connection signal="finished" from="MusicStreamPlayer" to="." method="_on_music_stream_player_finished"]
|
||||
@@ -14,7 +14,7 @@ var elapsedTime : float = 0.0
|
||||
|
||||
|
||||
func _ready():
|
||||
start_speech()
|
||||
_play_speech(Database.get_audio_stream_for_path(tuto_speech_path))
|
||||
|
||||
|
||||
func _process(delta):
|
||||
@@ -24,8 +24,7 @@ func _process(delta):
|
||||
if not isSpeaking:
|
||||
elapsedTime += delta
|
||||
if elapsedTime > 20:
|
||||
_play_speech(Database.get_audio_stream_for_path(feedback_speech_path))
|
||||
|
||||
start_speech()
|
||||
|
||||
func _play_speech(speech : AudioStream):
|
||||
isSpeaking = true
|
||||
@@ -42,7 +41,7 @@ func _play_speech(speech : AudioStream):
|
||||
|
||||
|
||||
func start_speech():
|
||||
_play_speech(Database.get_audio_stream_for_path(tuto_speech_path))
|
||||
_play_speech(Database.get_audio_stream_for_path(feedback_speech_path))
|
||||
|
||||
|
||||
func stop_speech():
|
||||
|
||||
@@ -1,22 +1,26 @@
|
||||
extends Control
|
||||
|
||||
@onready var language_field : OptionButton = $LanguageField
|
||||
@onready var email_field : LineEdit = $EmailField
|
||||
@onready var password_field : LineEdit = $PasswordField
|
||||
@onready var device_id_field : LineEdit = $DeviceIDField
|
||||
signal logged_in
|
||||
|
||||
@onready var error_message : Label = $ErrorMessage
|
||||
@onready var language_field : OptionButton = $Form/LanguageField
|
||||
@onready var email_field : LineEdit = $Form/EmailField
|
||||
@onready var password_field : LineEdit = $Form/PasswordField
|
||||
@onready var device_id_field : SpinBox = $Form/DeviceIDField
|
||||
|
||||
@onready var field_missing_message : Label = $Form/FieldMissingError
|
||||
@onready var login_message : Label = $Form/LoginError
|
||||
|
||||
func _on_validate_button_pressed() -> void:
|
||||
|
||||
# Check if all the values are given
|
||||
if not email_field.text or not password_field.text or not device_id_field.text:
|
||||
error_message.visible = true
|
||||
if not email_field.text or not password_field.text or not device_id_field.value:
|
||||
field_missing_message.visible = true
|
||||
return
|
||||
|
||||
# TODO Check login and password
|
||||
|
||||
# Login
|
||||
UserDataManager.login(language_field.get_selected_language(), email_field.text, device_id_field.text)
|
||||
|
||||
# TODO Load next scene
|
||||
if UserDataManager.login(language_field.get_selected_language(), email_field.text, password_field.text, device_id_field.value):
|
||||
logged_in.emit()
|
||||
else:
|
||||
login_message.visible = true
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
extends Control
|
||||
|
||||
const next_scene_path: = "res://sources/menus/minigame_selection.tscn"
|
||||
const next_scene_path: = "res://sources/menus/login/login.tscn"
|
||||
|
||||
@onready var music_player : AudioStreamPlayer = $MusicStreamPlayer
|
||||
@onready var version_label : Label = $Informations/BuildVersionValue
|
||||
@@ -13,7 +13,7 @@ const next_scene_path: = "res://sources/menus/minigame_selection.tscn"
|
||||
func _ready():
|
||||
version_label.text = ProjectSettings.get_setting("application/config/version")
|
||||
teacher_label.text = UserDataManager.device_settings.teacher
|
||||
device_id_label.text = UserDataManager.device_settings.device_id
|
||||
device_id_label.text = str(UserDataManager.device_settings.device_id)
|
||||
|
||||
|
||||
func _on_main_button_pressed():
|
||||
|
||||
@@ -132,30 +132,51 @@ grow_vertical = 2
|
||||
[node name="Login" type="Control" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("12_6bu7q")
|
||||
|
||||
[node name="InterfaceLeft" type="MarginContainer" parent="Login"]
|
||||
custom_minimum_size = Vector2(450, 0)
|
||||
layout_mode = 1
|
||||
anchors_preset = 9
|
||||
anchor_bottom = 1.0
|
||||
offset_right = 450.0
|
||||
grow_vertical = 2
|
||||
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="Container" type="VBoxContainer" parent="Login/InterfaceLeft"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="BackButton" type="TextureButton" parent="Login/InterfaceLeft/Container"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
texture_normal = ExtResource("13_j3nb7")
|
||||
texture_pressed = ExtResource("14_3lr3g")
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="Form" type="Control" parent="Login"]
|
||||
custom_minimum_size = Vector2(1350, 620)
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -649.0
|
||||
offset_top = -308.0
|
||||
offset_right = 649.0
|
||||
offset_bottom = 308.0
|
||||
offset_left = -675.0
|
||||
offset_top = -310.0
|
||||
offset_right = 675.0
|
||||
offset_bottom = 310.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("12_6bu7q")
|
||||
|
||||
[node name="BackButton" type="TextureButton" parent="Login"]
|
||||
layout_mode = 0
|
||||
offset_left = -567.0
|
||||
offset_top = -528.0
|
||||
offset_right = -427.0
|
||||
offset_bottom = -388.0
|
||||
scale = Vector2(1.5, 1.5)
|
||||
texture_normal = ExtResource("13_j3nb7")
|
||||
texture_pressed = ExtResource("14_3lr3g")
|
||||
|
||||
[node name="EmailField" type="LineEdit" parent="Login"]
|
||||
[node name="EmailField" type="LineEdit" parent="Login/Form"]
|
||||
layout_mode = 1
|
||||
offset_top = 80.0
|
||||
offset_right = 800.0
|
||||
@@ -165,14 +186,14 @@ theme_type_variation = &"1"
|
||||
theme_override_font_sizes/font_size = 70
|
||||
placeholder_text = "Email"
|
||||
|
||||
[node name="Label" type="Label" parent="Login/EmailField"]
|
||||
[node name="Label" type="Label" parent="Login/Form/EmailField"]
|
||||
layout_mode = 0
|
||||
offset_top = -80.0
|
||||
offset_right = 412.0
|
||||
theme = ExtResource("15_pcmnw")
|
||||
text = "Teacher login"
|
||||
|
||||
[node name="PasswordField" type="LineEdit" parent="Login"]
|
||||
[node name="PasswordField" type="LineEdit" parent="Login/Form"]
|
||||
layout_mode = 1
|
||||
offset_top = 223.0
|
||||
offset_right = 800.0
|
||||
@@ -183,7 +204,7 @@ theme_override_constants/outline_size = 1
|
||||
placeholder_text = "Password"
|
||||
secret = true
|
||||
|
||||
[node name="DeviceIDField" type="LineEdit" parent="Login"]
|
||||
[node name="DeviceIDField" type="SpinBox" parent="Login/Form"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
@@ -193,15 +214,19 @@ offset_top = 80.0
|
||||
offset_bottom = 193.0
|
||||
grow_horizontal = 0
|
||||
theme = ExtResource("15_pcmnw")
|
||||
min_value = 1.0
|
||||
max_value = 6.0
|
||||
value = 1.0
|
||||
rounded = true
|
||||
|
||||
[node name="Label" type="Label" parent="Login/DeviceIDField"]
|
||||
[node name="Label" type="Label" parent="Login/Form/DeviceIDField"]
|
||||
layout_mode = 1
|
||||
offset_top = -80.0
|
||||
offset_right = 412.0
|
||||
theme = ExtResource("15_pcmnw")
|
||||
text = "Tablet number"
|
||||
|
||||
[node name="LanguageField" type="OptionButton" parent="Login"]
|
||||
[node name="LanguageField" type="OptionButton" parent="Login/Form"]
|
||||
layout_mode = 0
|
||||
offset_top = 356.0
|
||||
offset_right = 800.0
|
||||
@@ -209,7 +234,7 @@ offset_bottom = 469.0
|
||||
theme = ExtResource("15_pcmnw")
|
||||
script = ExtResource("13_rs3hd")
|
||||
|
||||
[node name="ValidateButton" type="TextureButton" parent="Login"]
|
||||
[node name="ValidateButton" type="TextureButton" parent="Login/Form"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
@@ -227,7 +252,7 @@ texture_normal = ExtResource("12_km7h0")
|
||||
texture_pressed = ExtResource("13_oqjai")
|
||||
texture_disabled = ExtResource("14_11c6x")
|
||||
|
||||
[node name="FieldMissingError" type="Label" parent="Login"]
|
||||
[node name="FieldMissingError" type="Label" parent="Login/Form"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 12
|
||||
@@ -239,7 +264,7 @@ grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
text = "Please fill all the fields"
|
||||
|
||||
[node name="LoginError" type="Label" parent="Login"]
|
||||
[node name="LoginError" type="Label" parent="Login/Form"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 12
|
||||
@@ -329,6 +354,6 @@ autoplay = true
|
||||
|
||||
[connection signal="pressed" from="Kalulu/PlayButton" to="." method="_on_main_button_pressed"]
|
||||
[connection signal="logged_in" from="Login" to="." method="_on_login_in"]
|
||||
[connection signal="pressed" from="Login/BackButton" to="." method="_on_back_button_pressed"]
|
||||
[connection signal="pressed" from="Login/ValidateButton" to="Login" method="_on_validate_button_pressed"]
|
||||
[connection signal="pressed" from="Login/InterfaceLeft/Container/BackButton" to="." method="_on_back_button_pressed"]
|
||||
[connection signal="pressed" from="Login/Form/ValidateButton" to="Login" method="_on_validate_button_pressed"]
|
||||
[connection signal="finished" from="MusicStreamPlayer" to="." method="_on_music_stream_player_finished"]
|
||||
|
||||
@@ -4,10 +4,10 @@ extends Node
|
||||
|
||||
var student: String = "" :
|
||||
set(student_name):
|
||||
student = student_name
|
||||
if student_settings:
|
||||
_save_student_settings()
|
||||
|
||||
|
||||
student = student_name
|
||||
if student :
|
||||
load_student_settings()
|
||||
else :
|
||||
@@ -50,7 +50,7 @@ func set_language(language : String) -> void:
|
||||
_save_device_settings()
|
||||
|
||||
|
||||
func login(language : String, teacher : String, password : String, device_id : String) -> bool:
|
||||
func login(language : String, teacher : String, password : String, device_id : int) -> bool:
|
||||
|
||||
if teacher not in DeviceSettings.possible_logins or password != DeviceSettings.possible_logins[teacher]:
|
||||
return false
|
||||
@@ -100,12 +100,12 @@ func get_teacher_folder() -> String:
|
||||
|
||||
|
||||
func get_student_folder() -> String:
|
||||
var file_path: = get_teacher_folder() + student + "/"
|
||||
var file_path: = device_settings.get_folder_path() + student + "/"
|
||||
return file_path
|
||||
|
||||
|
||||
func get_student_settings_path() -> String:
|
||||
var file_path: = get_student_folder() + "settings.tres"
|
||||
var file_path: = get_student_folder() + "settings.tres"
|
||||
return file_path
|
||||
|
||||
|
||||
|
||||