aboutsummaryrefslogtreecommitdiff
path: root/game/src/Game/Autoload/Events
diff options
context:
space:
mode:
author George L. Albany <Megacake1234@gmail.com>2023-07-09 02:14:54 +0200
committer GitHub <noreply@github.com>2023-07-09 02:14:54 +0200
commit1d8accc1ca6b30120732c56233e5d74e860de1bb (patch)
tree97c167b06a8b2f2b868107414b5676ccb5fcb53b /game/src/Game/Autoload/Events
parentd05bff0c40a482a9bb44877fe76b1e0efb2e1a68 (diff)
parent86bee7b44c7cc7adaef8cdf441667a99223dd98a (diff)
Merge pull request #135 from Spartan322/generalize/loading-and-events
Diffstat (limited to 'game/src/Game/Autoload/Events')
-rw-r--r--game/src/Game/Autoload/Events/GameDebug.gd9
-rw-r--r--game/src/Game/Autoload/Events/Loader.gd6
-rw-r--r--game/src/Game/Autoload/Events/Localisation.gd34
-rw-r--r--game/src/Game/Autoload/Events/Options.gd2
-rw-r--r--game/src/Game/Autoload/Events/ShaderManager.gd49
5 files changed, 7 insertions, 93 deletions
diff --git a/game/src/Game/Autoload/Events/GameDebug.gd b/game/src/Game/Autoload/Events/GameDebug.gd
deleted file mode 100644
index 9e18343..0000000
--- a/game/src/Game/Autoload/Events/GameDebug.gd
+++ /dev/null
@@ -1,9 +0,0 @@
-extends RefCounted
-class_name GameDebugSingleton
-
-func set_debug_mode(value : bool) -> void:
- ArgumentParser.set_argument(&"game-debug", value)
- print("Set debug mode to: ", value)
-
-func is_debug_mode() -> bool:
- return ArgumentParser.get_argument(&"game-debug", false)
diff --git a/game/src/Game/Autoload/Events/Loader.gd b/game/src/Game/Autoload/Events/Loader.gd
new file mode 100644
index 0000000..c17dc6f
--- /dev/null
+++ b/game/src/Game/Autoload/Events/Loader.gd
@@ -0,0 +1,6 @@
+class_name LoaderEventsObject
+extends RefCounted
+
+signal startup_load_begun()
+signal startup_load_changed(percentage : float)
+signal startup_load_ended()
diff --git a/game/src/Game/Autoload/Events/Localisation.gd b/game/src/Game/Autoload/Events/Localisation.gd
deleted file mode 100644
index 37b550d..0000000
--- a/game/src/Game/Autoload/Events/Localisation.gd
+++ /dev/null
@@ -1,34 +0,0 @@
-extends RefCounted
-class_name LocalisationSingleton
-
-# REQUIREMENTS
-# * SS-59, SS-60, SS-61
-func get_default_locale() -> String:
- var locales := TranslationServer.get_loaded_locales()
- var default_locale := OS.get_locale()
- if default_locale in locales:
- return default_locale
- var default_language := OS.get_locale_language()
- for locale in locales:
- if locale.begins_with(default_language):
- return default_language
- return ProjectSettings.get_setting("internationalization/locale/fallback", "en_GB")
-
-func load_localisation(dir_path : String) -> void:
- if LoadLocalisation.load_localisation_dir(dir_path) != OK:
- push_error("Error loading localisation directory: ", dir_path)
- var loaded_locales : PackedStringArray = TranslationServer.get_loaded_locales()
- print("Loaded ", loaded_locales.size(), " locales: ", loaded_locales)
-
-# REQUIREMENTS
-# * SS-57
-# * FS-17
-func _init():
- var localisation_dir_path : String = ProjectSettings.get_setting("internationalization/locale/localisation_path", "")
- if localisation_dir_path.is_empty():
- push_error("Missing localisation_path setting!")
- else:
- load_localisation(localisation_dir_path)
-
-func tr_number(num) -> String:
- return TextServerManager.get_primary_interface().format_number(str(num))
diff --git a/game/src/Game/Autoload/Events/Options.gd b/game/src/Game/Autoload/Events/Options.gd
index 2e9b90b..08f34db 100644
--- a/game/src/Game/Autoload/Events/Options.gd
+++ b/game/src/Game/Autoload/Events/Options.gd
@@ -1,5 +1,5 @@
+class_name OptionsEventsObject
extends RefCounted
-class_name OptionsSingleton
signal save_settings(save_file: ConfigFile)
signal load_settings(load_file: ConfigFile)
diff --git a/game/src/Game/Autoload/Events/ShaderManager.gd b/game/src/Game/Autoload/Events/ShaderManager.gd
deleted file mode 100644
index 731dc3c..0000000
--- a/game/src/Game/Autoload/Events/ShaderManager.gd
+++ /dev/null
@@ -1,49 +0,0 @@
-extends RefCounted
-class_name ShaderManagerSingleton
-
-const param_province_shape_tex : StringName = &"province_shape_tex"
-const param_province_shape_subdivisions : StringName = &"province_shape_subdivisions"
-const param_province_colour_tex : StringName = &"province_colour_tex"
-const param_hover_index : StringName = &"hover_index"
-const param_selected_index : StringName = &"selected_index"
-const param_terrain_tex : StringName = &"terrain_tex"
-const param_terrain_tile_factor : StringName = &"terrain_tile_factor"
-
-func set_up_shader(material : Material, add_cosmetic_textures : bool) -> Error:
- # Shader Material
- if material == null:
- push_error("material is null!")
- return FAILED
- if not material is ShaderMaterial:
- push_error("Invalid map mesh material class: ", material.get_class())
- return FAILED
- var shader_material : ShaderMaterial = material
-
- # Province shape texture
- var province_shape_texture := GameSingleton.get_province_shape_texture()
- if province_shape_texture == null:
- push_error("Failed to get province shape texture!")
- return FAILED
- shader_material.set_shader_parameter(param_province_shape_tex, province_shape_texture)
- var subdivisions := GameSingleton.get_province_shape_image_subdivisions()
- if subdivisions.x < 1 or subdivisions.y < 1:
- push_error("Invalid province shape image subdivision: ", subdivisions.x, "x", subdivisions.y)
- return FAILED
- shader_material.set_shader_parameter(param_province_shape_subdivisions, Vector2(subdivisions))
-
- if add_cosmetic_textures:
- # Province colour texture
- var map_province_colour_texture := GameSingleton.get_province_colour_texture()
- if map_province_colour_texture == null:
- push_error("Failed to get province colour image!")
- return FAILED
- shader_material.set_shader_parameter(param_province_colour_tex, map_province_colour_texture)
-
- # Terrain texture
- var terrain_texture := GameSingleton.get_terrain_texture()
- if terrain_texture == null:
- push_error("Failed to get terrain texture!")
- return FAILED
- shader_material.set_shader_parameter(param_terrain_tex, terrain_texture)
-
- return OK