@@ -130,8 +130,6 @@ def get_file_list(api_filepath, output_dir, headers=False, sources=False):
130
130
if sources :
131
131
utility_functions_source_path = source_gen_folder / "variant" / "utility_functions.cpp"
132
132
files .append (str (utility_functions_source_path .as_posix ()))
133
- register_engine_classes_source_path = source_gen_folder / "register_engine_classes.cpp"
134
- files .append (str (register_engine_classes_source_path .as_posix ()))
135
133
136
134
return files
137
135
@@ -1170,10 +1168,6 @@ def generate_engine_classes_bindings(api, output_dir, use_template_get_node):
1170
1168
generate_engine_class_source (class_api , used_classes , fully_used_classes , use_template_get_node )
1171
1169
)
1172
1170
1173
- register_engine_classes_filename = Path (output_dir ) / "src" / "register_engine_classes.cpp"
1174
- with register_engine_classes_filename .open ("w+" , encoding = "utf-8" ) as source_file :
1175
- source_file .write (generate_register_engine_classes_source (api ))
1176
-
1177
1171
for native_struct in api ["native_structures" ]:
1178
1172
struct_name = native_struct ["name" ]
1179
1173
snake_struct_name = camel_to_snake (struct_name )
@@ -1248,7 +1242,7 @@ def generate_engine_class_header(class_api, used_classes, fully_used_classes, us
1248
1242
result .append (f"#include <godot_cpp/{ get_include_path (included )} >" )
1249
1243
1250
1244
if class_name == "EditorPlugin" :
1251
- result .append ("#include <godot_cpp/templates/vector .hpp>" )
1245
+ result .append ("#include <godot_cpp/classes/editor_plugin_registration .hpp>" )
1252
1246
1253
1247
if len (fully_used_classes ) > 0 :
1254
1248
result .append ("" )
@@ -1400,30 +1394,6 @@ def generate_engine_class_header(class_api, used_classes, fully_used_classes, us
1400
1394
result .append ("};" )
1401
1395
result .append ("" )
1402
1396
1403
- if class_name == "EditorPlugin" :
1404
- result .append ("class EditorPlugins {" )
1405
- result .append ("private:" )
1406
- result .append ("\t static Vector<StringName> plugin_classes;" )
1407
- result .append ("" )
1408
- result .append ("public:" )
1409
- result .append ("\t static void add_plugin_class(const StringName &p_class_name);" )
1410
- result .append ("\t static void remove_plugin_class(const StringName &p_class_name);" )
1411
- result .append ("\t static void deinitialize(GDExtensionInitializationLevel p_level);" )
1412
- result .append ("" )
1413
-
1414
- result .append ("\t template <class T>" )
1415
- result .append ("\t static void add_by_type() {" )
1416
- result .append ("\t \t add_plugin_class(T::get_class_static());" )
1417
- result .append ("\t }" )
1418
-
1419
- result .append ("\t template <class T>" )
1420
- result .append ("\t static void remove_by_type() {" )
1421
- result .append ("\t \t remove_plugin_class(T::get_class_static());" )
1422
- result .append ("\t }" )
1423
-
1424
- result .append ("};" )
1425
- result .append ("" )
1426
-
1427
1397
result .append ("} // namespace godot" )
1428
1398
result .append ("" )
1429
1399
@@ -1648,38 +1618,6 @@ def generate_engine_class_source(class_api, used_classes, fully_used_classes, us
1648
1618
return "\n " .join (result )
1649
1619
1650
1620
1651
- def generate_register_engine_classes_source (api ):
1652
- includes = []
1653
- registrations = []
1654
-
1655
- for class_api in api ["classes" ]:
1656
- if class_api ["name" ] == "ClassDB" :
1657
- continue
1658
-
1659
- class_name = class_api ["name" ]
1660
- snake_class_name = camel_to_snake (class_name )
1661
-
1662
- includes .append (f"#include <godot_cpp/classes/{ snake_class_name } .hpp>" )
1663
- registrations .append (f"\t ClassDB::register_engine_class<{ class_name } >();" )
1664
-
1665
- result = []
1666
- add_header (f"register_engine_classes.cpp" , result )
1667
-
1668
- result .append ("#include <godot_cpp/godot.hpp>" )
1669
- result .append ("" )
1670
- result = result + includes
1671
- result .append ("" )
1672
- result .append ("namespace godot {" )
1673
- result .append ("" )
1674
- result .append ("void GDExtensionBinding::register_engine_classes() {" )
1675
- result = result + registrations
1676
- result .append ("}" )
1677
- result .append ("" )
1678
- result .append ("} // namespace godot " )
1679
-
1680
- return "\n " .join (result )
1681
-
1682
-
1683
1621
def generate_global_constants (api , output_dir ):
1684
1622
include_gen_folder = Path (output_dir ) / "include" / "godot_cpp" / "classes"
1685
1623
source_gen_folder = Path (output_dir ) / "src" / "classes"
0 commit comments