tool extends EditorPlugin func _enter_tree(): add_tool_menu_item("Convert Scripts to Cpp", self, "on_convert_script_menu_clicked") add_tool_menu_item("Generate Cpp Class Bind for Scripts", self, "on_generate_class_binds_menu_clicked") add_tool_menu_item("Convert Scenes to Cpp", self, "on_convert_scene_menu_clicked") func _exit_tree(): remove_tool_menu_item("Convert Scripts to Cpp") remove_tool_menu_item("Generate Cpp Class Bind for Scripts") remove_tool_menu_item("Convert Scenes to Cpp") func on_convert_script_menu_clicked(val) -> void: var GDSParser = load("res://addons/gdc_converter/gdc_code_converter.gd") var parser = GDSParser.new() var dir = Directory.new() var dir_name = get_editor_interface().get_selected_path() if dir.open(dir_name) == OK: dir.list_dir_begin() var file_name = dir.get_next() while file_name != "": if !dir.current_is_dir(): if file_name.get_extension() == "gd": parser.process_file(dir_name + file_name) file_name = dir.get_next() func on_generate_class_binds_menu_clicked(val) -> void: var GDSParser = load("res://addons/gdc_converter/gdc_class_bind_generator.gd") var parser = GDSParser.new() var dir = Directory.new() var dir_name = get_editor_interface().get_selected_path() if dir.open(dir_name) == OK: dir.list_dir_begin() var file_name = dir.get_next() while file_name != "": if !dir.current_is_dir(): if file_name.get_extension() == "gd": parser.process_file(dir_name + file_name) file_name = dir.get_next() func on_convert_scene_menu_clicked(val) -> void: var GDSParser = load("res://addons/gdc_converter/gdc_scene_converter.gd") var parser = GDSParser.new() var dir = Directory.new() var dir_name = get_editor_interface().get_selected_path() if dir.open(dir_name) == OK: dir.list_dir_begin() var file_name = dir.get_next() while file_name != "": if !dir.current_is_dir(): if file_name.get_extension() == "tscn": parser.process_file(dir_name + file_name) file_name = dir.get_next()