diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2017-04-09 19:40:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-09 19:40:54 +0200 |
commit | 0198d2e03cfb8506e4a5c0f45efc43a1ac5d8d1a (patch) | |
tree | 6013e22d457a302761679b2f8cc916a06a5cb282 /modules/dlscript/api_generator.cpp | |
parent | cd9e96c83539191a69be81e74071a8edaf9d9cf1 (diff) | |
parent | b423529481f2d4dbe2b6926b469b802dc9bb50e3 (diff) |
Merge pull request #8329 from touilleMan/dlscript-godot_get_global_constants
GlobalConstants support in DLScript & api.json
Diffstat (limited to 'modules/dlscript/api_generator.cpp')
-rw-r--r-- | modules/dlscript/api_generator.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/modules/dlscript/api_generator.cpp b/modules/dlscript/api_generator.cpp index 56e0e45608..1de3f6d520 100644 --- a/modules/dlscript/api_generator.cpp +++ b/modules/dlscript/api_generator.cpp @@ -4,6 +4,7 @@ #include "class_db.h" #include "core/global_config.h" +#include "core/global_constants.h" #include "os/file_access.h" // helper stuff @@ -92,6 +93,23 @@ List<ClassAPI> generate_c_api_classes() { List<StringName> classes; ClassDB::get_class_list(&classes); + // Register global constants as a fake GlobalConstants singleton class + { + ClassAPI global_constants_api; + global_constants_api.class_name = L"GlobalConstants"; + global_constants_api.api_type = ClassDB::API_CORE; + global_constants_api.is_singleton = true; + global_constants_api.is_instanciable = false; + const int constants_count = GlobalConstants::get_global_constant_count(); + for (int i = 0; i < constants_count; ++i) { + ConstantAPI constant_api; + constant_api.constant_name = GlobalConstants::get_global_constant_name(i); + constant_api.constant_value = GlobalConstants::get_global_constant_value(i); + global_constants_api.constants.push_back(constant_api); + } + api.push_back(global_constants_api); + } + for (List<StringName>::Element *e = classes.front(); e != NULL; e = e->next()) { StringName class_name = e->get(); |