Sfoglia il codice sorgente

Add godot_get_global_constants function to dlscript

Emmanuel Leblond 8 anni fa
parent
commit
68ae50ecc2
2 ha cambiato i file con 13 aggiunte e 0 eliminazioni
  1. 11 0
      modules/dlscript/godot.cpp
  2. 2 0
      modules/dlscript/godot.h

+ 11 - 0
modules/dlscript/godot.cpp

@@ -31,6 +31,7 @@
 #include "class_db.h"
 #include "dl_script.h"
 #include "global_config.h"
+#include "global_constants.h"
 #include "variant.h"
 
 #ifdef __cplusplus
@@ -180,6 +181,16 @@ void GDAPI *godot_dlinstance_get_userdata(godot_object *p_instance) {
 	return NULL;
 }
 
+void GDAPI godot_get_global_constants(godot_dictionary *p_constants) {
+	Dictionary *constants = (Dictionary *)p_constants;
+	const int constants_cont = GlobalConstants::get_global_constant_count();
+	for (int i = 0; i < constants_cont; ++i) {
+		const char *name = GlobalConstants::get_global_constant_name(i);
+		int value = GlobalConstants::get_global_constant_value(i);
+		(*constants)[name] = value;
+	}
+}
+
 // System functions
 void GDAPI *godot_alloc(int p_bytes) {
 	return memalloc(p_bytes);

+ 2 - 0
modules/dlscript/godot.h

@@ -375,6 +375,8 @@ void GDAPI godot_script_register_signal(const char *p_name, const godot_signal *
 
 void GDAPI *godot_dlinstance_get_userdata(godot_object *p_instance);
 
+void GDAPI godot_get_global_constants(godot_dictionary *constants);
+
 ////// System Functions
 
 //using these will help Godot track how much memory is in use in debug mode