Merge pull request #3 from Excello-Recherche-Education/godot-4.3
Godot 4.3 & Fixes
This commit is contained in:
+76
-66
@@ -3,6 +3,7 @@
|
||||
name="Web"
|
||||
platform="Web"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
@@ -13,12 +14,14 @@ encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
variant/extensions_support=false
|
||||
variant/thread_support=true
|
||||
vram_texture_compression/for_desktop=true
|
||||
vram_texture_compression/for_mobile=false
|
||||
html/export_icon=true
|
||||
@@ -28,6 +31,7 @@ html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=false
|
||||
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=0
|
||||
@@ -35,14 +39,13 @@ progressive_web_app/icon_144x144=""
|
||||
progressive_web_app/icon_180x180=""
|
||||
progressive_web_app/icon_512x512=""
|
||||
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||
variant/thread_support=true
|
||||
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="macOS"
|
||||
platform="macOS"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
@@ -53,6 +56,7 @@ encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
@@ -73,6 +77,7 @@ application/copyright_localized={}
|
||||
application/min_macos_version="10.12"
|
||||
application/export_angle=0
|
||||
display/high_res=true
|
||||
application/additional_plist_content=""
|
||||
xcode/platform_build="14C18"
|
||||
xcode/sdk_version="13.1"
|
||||
xcode/sdk_build="22C55"
|
||||
@@ -131,18 +136,6 @@ privacy/network_volumes_usage_description=""
|
||||
privacy/network_volumes_usage_description_localized={}
|
||||
privacy/removable_volumes_usage_description=""
|
||||
privacy/removable_volumes_usage_description_localized={}
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
application/additional_plist_content=""
|
||||
privacy/tracking_enabled=false
|
||||
privacy/tracking_domains=PackedStringArray()
|
||||
privacy/collected_data/name/collected=false
|
||||
@@ -285,6 +278,17 @@ privacy/collected_data/other_data_types/collected=false
|
||||
privacy/collected_data/other_data_types/linked_to_user=false
|
||||
privacy/collected_data/other_data_types/used_for_tracking=false
|
||||
privacy/collected_data/other_data_types/collection_purposes=0
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
debug/export_console_script=1
|
||||
notarization/apple_team_id=""
|
||||
|
||||
@@ -293,6 +297,7 @@ notarization/apple_team_id=""
|
||||
name="macOS 2"
|
||||
platform="macOS"
|
||||
runnable=false
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
@@ -303,6 +308,7 @@ encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.2.options]
|
||||
|
||||
@@ -323,6 +329,7 @@ application/copyright_localized={}
|
||||
application/min_macos_version="10.12"
|
||||
application/export_angle=0
|
||||
display/high_res=true
|
||||
application/additional_plist_content=""
|
||||
xcode/platform_build="14C18"
|
||||
xcode/sdk_version="13.1"
|
||||
xcode/sdk_build="22C55"
|
||||
@@ -381,18 +388,6 @@ privacy/network_volumes_usage_description=""
|
||||
privacy/network_volumes_usage_description_localized={}
|
||||
privacy/removable_volumes_usage_description=""
|
||||
privacy/removable_volumes_usage_description_localized={}
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
application/additional_plist_content=""
|
||||
privacy/tracking_enabled=false
|
||||
privacy/tracking_domains=PackedStringArray()
|
||||
privacy/collected_data/name/collected=false
|
||||
@@ -535,6 +530,17 @@ privacy/collected_data/other_data_types/collected=false
|
||||
privacy/collected_data/other_data_types/linked_to_user=false
|
||||
privacy/collected_data/other_data_types/used_for_tracking=false
|
||||
privacy/collected_data/other_data_types/collection_purposes=0
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
debug/export_console_script=1
|
||||
notarization/apple_team_id=""
|
||||
|
||||
@@ -543,6 +549,7 @@ notarization/apple_team_id=""
|
||||
name="Android Kalulu"
|
||||
platform="Android"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
@@ -553,12 +560,16 @@ encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.3.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
gradle_build/use_gradle_build=false
|
||||
gradle_build/gradle_build_directory=""
|
||||
gradle_build/android_source_template=""
|
||||
gradle_build/compress_native_libraries=false
|
||||
gradle_build/export_format=0
|
||||
gradle_build/min_sdk=""
|
||||
gradle_build/target_sdk=""
|
||||
@@ -740,25 +751,24 @@ permissions/write_sms=false
|
||||
permissions/write_social_stream=false
|
||||
permissions/write_sync_settings=false
|
||||
permissions/write_user_dictionary=false
|
||||
gradle_build/gradle_build_directory=""
|
||||
gradle_build/android_source_template=""
|
||||
gradle_build/compress_native_libraries=false
|
||||
|
||||
[preset.4]
|
||||
|
||||
name="iOS Kalulu"
|
||||
platform="iOS"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../Export/iOS/KaluluApp.ipa"
|
||||
export_path="../Export/old/KaluluApp.ipa"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.4.options]
|
||||
|
||||
@@ -775,11 +785,16 @@ application/bundle_identifier="com.cerberegames.kaluluios"
|
||||
application/signature=""
|
||||
application/short_version=""
|
||||
application/version=""
|
||||
application/min_ios_version="12.0"
|
||||
application/additional_plist_content=""
|
||||
application/icon_interpolation=4
|
||||
application/launch_screens_interpolation=4
|
||||
application/export_project_only=false
|
||||
application/delete_old_export_files_unconditionally=false
|
||||
application/generate_simulator_library_if_missing=true
|
||||
capabilities/access_wifi=false
|
||||
capabilities/push_notifications=false
|
||||
capabilities/performance_gaming_tier=false
|
||||
capabilities/performance_a12=false
|
||||
user_data/accessible_from_files_app=false
|
||||
user_data/accessible_from_itunes_sharing=false
|
||||
privacy/camera_usage_description=""
|
||||
@@ -788,41 +803,6 @@ privacy/microphone_usage_description=""
|
||||
privacy/microphone_usage_description_localized={}
|
||||
privacy/photolibrary_usage_description=""
|
||||
privacy/photolibrary_usage_description_localized={}
|
||||
icons/iphone_120x120=""
|
||||
icons/iphone_180x180=""
|
||||
icons/ipad_76x76=""
|
||||
icons/ipad_152x152=""
|
||||
icons/ipad_167x167=""
|
||||
icons/app_store_1024x1024="res://assets/store_icon_1024.png"
|
||||
icons/spotlight_40x40=""
|
||||
icons/spotlight_80x80=""
|
||||
icons/settings_58x58=""
|
||||
icons/settings_87x87=""
|
||||
icons/notification_40x40=""
|
||||
icons/notification_60x60=""
|
||||
storyboard/use_launch_screen_storyboard=true
|
||||
storyboard/image_scale_mode=0
|
||||
storyboard/custom_image@2x=""
|
||||
storyboard/custom_image@3x=""
|
||||
storyboard/use_custom_bg_color=false
|
||||
storyboard/custom_bg_color=Color(0, 0, 0, 1)
|
||||
landscape_launch_screens/iphone_2436x1125=""
|
||||
landscape_launch_screens/iphone_2208x1242=""
|
||||
landscape_launch_screens/ipad_1024x768=""
|
||||
landscape_launch_screens/ipad_2048x1536=""
|
||||
portrait_launch_screens/iphone_640x960=""
|
||||
portrait_launch_screens/iphone_640x1136=""
|
||||
portrait_launch_screens/iphone_750x1334=""
|
||||
portrait_launch_screens/iphone_1125x2436=""
|
||||
portrait_launch_screens/ipad_768x1024=""
|
||||
portrait_launch_screens/ipad_1536x2048=""
|
||||
portrait_launch_screens/iphone_1242x2208=""
|
||||
application/min_ios_version="12.0"
|
||||
application/additional_plist_content=""
|
||||
application/delete_old_export_files_unconditionally=false
|
||||
application/generate_simulator_library_if_missing=true
|
||||
capabilities/performance_gaming_tier=false
|
||||
capabilities/performance_a12=false
|
||||
privacy/file_timestamp_access_reasons=3
|
||||
privacy/system_boot_time_access_reasons=1
|
||||
privacy/disk_space_access_reasons=3
|
||||
@@ -970,3 +950,33 @@ privacy/collected_data/other_data_types/collected=false
|
||||
privacy/collected_data/other_data_types/linked_to_user=false
|
||||
privacy/collected_data/other_data_types/used_for_tracking=false
|
||||
privacy/collected_data/other_data_types/collection_purposes=0
|
||||
icons/iphone_120x120=""
|
||||
icons/iphone_180x180=""
|
||||
icons/ipad_76x76=""
|
||||
icons/ipad_152x152=""
|
||||
icons/ipad_167x167=""
|
||||
icons/app_store_1024x1024="res://assets/store_icon_1024.png"
|
||||
icons/spotlight_40x40=""
|
||||
icons/spotlight_80x80=""
|
||||
icons/settings_58x58=""
|
||||
icons/settings_87x87=""
|
||||
icons/notification_40x40=""
|
||||
icons/notification_60x60=""
|
||||
storyboard/image_scale_mode=0
|
||||
storyboard/custom_image@2x=""
|
||||
storyboard/custom_image@3x=""
|
||||
storyboard/use_custom_bg_color=false
|
||||
storyboard/custom_bg_color=Color(0, 0, 0, 1)
|
||||
application/launch_screens_interpolation=4
|
||||
storyboard/use_launch_screen_storyboard=true
|
||||
landscape_launch_screens/iphone_2436x1125=""
|
||||
landscape_launch_screens/iphone_2208x1242=""
|
||||
landscape_launch_screens/ipad_1024x768=""
|
||||
landscape_launch_screens/ipad_2048x1536=""
|
||||
portrait_launch_screens/iphone_640x960=""
|
||||
portrait_launch_screens/iphone_640x1136=""
|
||||
portrait_launch_screens/iphone_750x1334=""
|
||||
portrait_launch_screens/iphone_1125x2436=""
|
||||
portrait_launch_screens/ipad_768x1024=""
|
||||
portrait_launch_screens/ipad_1536x2048=""
|
||||
portrait_launch_screens/iphone_1242x2208=""
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+2
-2
@@ -11,9 +11,9 @@ config_version=5
|
||||
[application]
|
||||
|
||||
config/name="Kalulu"
|
||||
config/version="2.0.0"
|
||||
config/version="2.0.1"
|
||||
run/main_scene="res://sources/menus/splash_screen/splash_screen.tscn"
|
||||
config/features=PackedStringArray("4.2", "Forward Plus")
|
||||
config/features=PackedStringArray("4.3", "Forward Plus")
|
||||
boot_splash/bg_color=Color(0.141176, 0.141176, 0.141176, 1)
|
||||
config/icon="res://assets/kalulu_icon.png"
|
||||
custom/unlock_everything=false
|
||||
|
||||
@@ -10,15 +10,15 @@ uniform float interval = 3.5;
|
||||
uniform float detail = 1.0;
|
||||
uniform float distortion : hint_range(0.0, 1.0);
|
||||
uniform float heightOffset : hint_range(0.0, 1.0);
|
||||
uniform float offset = 0;
|
||||
uniform float offset = 0;
|
||||
|
||||
|
||||
float getWind(vec2 vertex, vec2 uv, float time){
|
||||
float diff = pow(maxStrength - minStrength, 2.0);
|
||||
float strength = clamp(minStrength + diff + sin(time / interval) * diff, minStrength, maxStrength) * strengthScale;
|
||||
float wind = (sin(time) + cos(time * detail)) * strength * max(0.0, (1.0-uv.y) - heightOffset);
|
||||
|
||||
return wind;
|
||||
|
||||
return wind;
|
||||
}
|
||||
|
||||
void vertex() {
|
||||
|
||||
@@ -9,7 +9,7 @@ uniform float alpha : hint_range(0.0, 1.0) = 1.0;
|
||||
|
||||
void fragment() {
|
||||
vec2 size = TEXTURE_PIXEL_SIZE * line_scale;
|
||||
|
||||
|
||||
float outline = texture(TEXTURE, UV + vec2(-size.x, 0)).a;
|
||||
outline += texture(TEXTURE, UV + vec2(0, size.y)).a;
|
||||
outline += texture(TEXTURE, UV + vec2(size.x, 0)).a;
|
||||
@@ -19,12 +19,12 @@ void fragment() {
|
||||
outline += texture(TEXTURE, UV + vec2(-size.x, -size.y)).a;
|
||||
outline += texture(TEXTURE, UV + vec2(size.x, -size.y)).a;
|
||||
outline = min(outline, 1.0);
|
||||
|
||||
|
||||
vec4 animated_line_color = vec4(light_offset + sin(2.0*3.14*frequency*TIME),
|
||||
light_offset + sin(2.0*3.14*frequency*TIME + radians(120.0)),
|
||||
light_offset + sin(2.0*3.14*frequency*TIME + radians(240.0)),
|
||||
alpha);
|
||||
|
||||
|
||||
vec4 color = texture(TEXTURE, UV);
|
||||
if (rainbow == true){//if rainbow is activated
|
||||
COLOR = mix(color, animated_line_color, outline - color.a);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -14,20 +14,40 @@ enum Status{
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
var number_of_lessons: = Database.get_lessons_count()
|
||||
init_unlocks()
|
||||
|
||||
# Make sure the unlocks are correct
|
||||
func init_unlocks() -> bool:
|
||||
var has_changes: bool = false
|
||||
|
||||
if not unlocks:
|
||||
unlocks = {}
|
||||
|
||||
# Verifiy the lessons
|
||||
var number_of_lessons: = Database.get_lessons_count()
|
||||
if unlocks.size() != number_of_lessons:
|
||||
for i in number_of_lessons:
|
||||
unlocks[i + 1] = {
|
||||
"look_and_learn": Status.Locked,
|
||||
"games": [
|
||||
Status.Locked,
|
||||
Status.Locked,
|
||||
Status.Locked,
|
||||
]
|
||||
}
|
||||
if not unlocks.has(i+1):
|
||||
unlocks[i + 1] = {
|
||||
"look_and_learn": Status.Locked,
|
||||
"games": [
|
||||
Status.Locked,
|
||||
Status.Locked,
|
||||
Status.Locked,
|
||||
]
|
||||
}
|
||||
|
||||
while unlocks.size() > number_of_lessons:
|
||||
unlocks.erase(unlocks.size())
|
||||
|
||||
has_changes = true
|
||||
|
||||
# Make sure that the first garden is always accessible
|
||||
if unlocks[1]["look_and_learn"] == Status.Locked:
|
||||
unlocks[1]["look_and_learn"] = Status.Unlocked
|
||||
has_changes = true
|
||||
|
||||
return has_changes
|
||||
|
||||
|
||||
func get_max_unlocked_lesson() -> int:
|
||||
@@ -44,6 +64,7 @@ func get_max_unlocked_lesson() -> int:
|
||||
func is_lesson_completed(lesson_number: int) -> bool:
|
||||
return unlocks[lesson_number]["look_and_learn"] == Status.Completed and unlocks[lesson_number]["games"][0] == Status.Completed and unlocks[lesson_number]["games"][1] == Status.Completed and unlocks[lesson_number]["games"][2] == Status.Completed
|
||||
|
||||
|
||||
func look_and_learn_completed(lesson_number: int) -> void:
|
||||
unlocks[lesson_number]["look_and_learn"] = Status.Completed
|
||||
|
||||
|
||||
@@ -149,7 +149,7 @@ func _back_to_correct_spot() -> void:
|
||||
var max_lesson: = UserDataManager.student_progression.get_max_unlocked_lesson()
|
||||
|
||||
# Close the layout
|
||||
await get_tree().create_timer(1.5).timeout
|
||||
await get_tree().create_timer(3).timeout
|
||||
await _close_minigames_layout()
|
||||
|
||||
lesson_ind = 1
|
||||
@@ -231,6 +231,8 @@ func _open_minigames_layout(button: LessonButton, lesson_ind: int, garden_ind: i
|
||||
if in_minigame_selection or not UserDataManager.student_progression:
|
||||
return
|
||||
|
||||
in_minigame_selection = true
|
||||
|
||||
# Gets the correct exercises for the lesson
|
||||
var exercises: = Database.get_exercice_for_lesson(lesson_ind)
|
||||
if not exercises or exercises.size() < 3:
|
||||
@@ -292,7 +294,6 @@ func _open_minigames_layout(button: LessonButton, lesson_ind: int, garden_ind: i
|
||||
tween.chain().tween_property(minigame_selection, "modulate:a", 1.0, 0.25)
|
||||
await tween.finished
|
||||
|
||||
in_minigame_selection = true
|
||||
minigame_layout_opened.emit()
|
||||
|
||||
|
||||
@@ -335,6 +336,8 @@ func _close_minigames_layout() -> void:
|
||||
if not in_minigame_selection:
|
||||
return
|
||||
|
||||
in_minigame_selection = false
|
||||
|
||||
feedback_audio_stream_player2.pitch_scale = 0.75
|
||||
feedback_audio_stream_player2.play()
|
||||
|
||||
@@ -362,8 +365,6 @@ func _close_minigames_layout() -> void:
|
||||
minigame_layout_1.pressed.disconnect(_on_minigame_button_pressed)
|
||||
minigame_layout_2.pressed.disconnect(_on_minigame_button_pressed)
|
||||
minigame_layout_3.pressed.disconnect(_on_minigame_button_pressed)
|
||||
|
||||
in_minigame_selection = false
|
||||
|
||||
|
||||
func set_up_lessons() -> void:
|
||||
|
||||
@@ -30,6 +30,7 @@ grow_vertical = 2
|
||||
[node name="TabContainer" type="TabContainer" parent="CenterContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 40
|
||||
current_tab = 0
|
||||
use_hidden_tabs_for_min_size = true
|
||||
|
||||
[node name="Language" type="VBoxContainer" parent="CenterContainer/TabContainer"]
|
||||
@@ -167,7 +168,6 @@ theme_override_font_sizes/font_size = 60
|
||||
alignment = 1
|
||||
item_count = 1
|
||||
popup/item_0/text = "New"
|
||||
popup/item_0/id = 0
|
||||
|
||||
[node name="AddWordListButton" type="Button" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
@@ -108,7 +108,7 @@ func _on_http_request_request_completed(result, response_code, headers, body):
|
||||
thread = Thread.new()
|
||||
download_label.hide()
|
||||
copy_label.show()
|
||||
if OS.request_permissions():
|
||||
thread.start(_copy_data.bind(self))
|
||||
|
||||
thread.start(_copy_data.bind(self))
|
||||
else:
|
||||
error_label.show()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=32 format=3 uid="uid://6v3nachs7j71"]
|
||||
[gd_scene load_steps=33 format=3 uid="uid://6v3nachs7j71"]
|
||||
|
||||
[ext_resource type="Script" path="res://sources/menus/main/main_menu.gd" id="1_0r1ij"]
|
||||
[ext_resource type="PackedScene" uid="uid://wdjp1sv55q4f" path="res://sources/menus/components/night_sky/night_sky.tscn" id="1_afd4d"]
|
||||
@@ -18,6 +18,7 @@
|
||||
[ext_resource type="Script" path="res://addons/godot-form-validator/form_validator.gd" id="15_e88oj"]
|
||||
[ext_resource type="Theme" uid="uid://dqjvrt5nrtwn1" path="res://resources/themes/kalulu_theme.tres" id="15_pcmnw"]
|
||||
[ext_resource type="Theme" uid="uid://cd7ftmo5x4c2r" path="res://resources/themes/kalulu_theme_big.tres" id="16_bq28s"]
|
||||
[ext_resource type="Script" path="res://addons/godot-form-validator/rules/validator_rule.gd" id="18_5m8xx"]
|
||||
[ext_resource type="Script" path="res://addons/godot-form-validator/control_validator.gd" id="18_iunlb"]
|
||||
[ext_resource type="Script" path="res://addons/godot-form-validator/rules/required_rule.gd" id="19_o524c"]
|
||||
[ext_resource type="Script" path="res://addons/godot-form-validator/validators/range_validator.gd" id="20_6xsd1"]
|
||||
@@ -34,7 +35,7 @@ script = ExtResource("20_6xsd1")
|
||||
validation_order = 1
|
||||
validation_method = 1
|
||||
skip_validation = false
|
||||
rules = Array[Resource("res://addons/godot-form-validator/rules/validator_rule.gd")]([SubResource("Resource_mh75v")])
|
||||
rules = Array[ExtResource("18_5m8xx")]([SubResource("Resource_mh75v")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_j516d"]
|
||||
script = ExtResource("19_o524c")
|
||||
@@ -49,7 +50,7 @@ script = ExtResource("21_1bl4i")
|
||||
validation_order = 1
|
||||
validation_method = 1
|
||||
skip_validation = false
|
||||
rules = Array[Resource("res://addons/godot-form-validator/rules/validator_rule.gd")]([SubResource("Resource_j516d"), SubResource("Resource_ayewh")])
|
||||
rules = Array[ExtResource("18_5m8xx")]([SubResource("Resource_j516d"), SubResource("Resource_ayewh")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_b08p8"]
|
||||
script = ExtResource("19_o524c")
|
||||
@@ -60,7 +61,7 @@ script = ExtResource("21_1bl4i")
|
||||
validation_order = 1
|
||||
validation_method = 1
|
||||
skip_validation = false
|
||||
rules = Array[Resource("res://addons/godot-form-validator/rules/validator_rule.gd")]([SubResource("Resource_b08p8")])
|
||||
rules = Array[ExtResource("18_5m8xx")]([SubResource("Resource_b08p8")])
|
||||
|
||||
[node name="MainMenu" type="Control"]
|
||||
layout_mode = 3
|
||||
|
||||
@@ -20,11 +20,11 @@ unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 250)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_font_sizes/bold_italics_font_size = 32
|
||||
theme_override_font_sizes/italics_font_size = 32
|
||||
theme_override_font_sizes/mono_font_size = 32
|
||||
theme_override_font_sizes/normal_font_size = 32
|
||||
theme_override_font_sizes/bold_font_size = 32
|
||||
theme_override_font_sizes/italics_font_size = 32
|
||||
theme_override_font_sizes/bold_italics_font_size = 32
|
||||
theme_override_font_sizes/mono_font_size = 32
|
||||
text = "GENERAL_CONDITIONS_TEXT"
|
||||
autowrap_mode = 2
|
||||
shortcut_keys_enabled = false
|
||||
|
||||
@@ -285,6 +285,8 @@ func _load_student_progression() -> void:
|
||||
DirAccess.make_dir_recursive_absolute(get_student_folder())
|
||||
_save_student_progression()
|
||||
|
||||
if student_progression.init_unlocks():
|
||||
_save_student_progression()
|
||||
student_progression.unlocks_changed.connect(_on_user_progression_unlocks_changed)
|
||||
|
||||
func _save_student_progression() -> void:
|
||||
|
||||
Reference in New Issue
Block a user