1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Expose OS data directory getter methods

This can be used by editor plugins and non-game applications to
store data in the correct directories according to the
XDG Base Directory specification.
This commit is contained in:
Hugo Locurcio
2021-05-07 19:36:32 +02:00
parent a9c53fa599
commit aa0976f47c
3 changed files with 46 additions and 0 deletions

View File

@@ -426,6 +426,21 @@ String _OS::get_external_data_dir() const {
return OS::get_singleton()->get_external_data_dir();
}
String _OS::get_config_dir() const {
// Exposed as `get_config_dir()` instead of `get_config_path()` for consistency with other exposed OS methods.
return OS::get_singleton()->get_config_path();
}
String _OS::get_data_dir() const {
// Exposed as `get_data_dir()` instead of `get_data_path()` for consistency with other exposed OS methods.
return OS::get_singleton()->get_data_path();
}
String _OS::get_cache_dir() const {
// Exposed as `get_cache_dir()` instead of `get_cache_path()` for consistency with other exposed OS methods.
return OS::get_singleton()->get_cache_path();
}
bool _OS::is_debug_build() const {
#ifdef DEBUG_ENABLED
return true;
@@ -518,6 +533,9 @@ void _OS::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_user_data_dir"), &_OS::get_user_data_dir);
ClassDB::bind_method(D_METHOD("get_external_data_dir"), &_OS::get_external_data_dir);
ClassDB::bind_method(D_METHOD("get_system_dir", "dir"), &_OS::get_system_dir);
ClassDB::bind_method(D_METHOD("get_config_dir"), &_OS::get_config_dir);
ClassDB::bind_method(D_METHOD("get_data_dir"), &_OS::get_data_dir);
ClassDB::bind_method(D_METHOD("get_cache_dir"), &_OS::get_cache_dir);
ClassDB::bind_method(D_METHOD("get_unique_id"), &_OS::get_unique_id);
ClassDB::bind_method(D_METHOD("print_all_textures_by_size"), &_OS::print_all_textures_by_size);