Browse Source

Merge pull request #59635 from akien-mga/script-templates-editor-only

Refactor GDScript/C# script templates logic to be editor-only
Rémi Verschelde 3 years ago
parent
commit
25af3ad5be

+ 3 - 2
modules/gdscript/SCsub

@@ -10,6 +10,8 @@ env_gdscript.add_source_files(env.modules_sources, "*.cpp")
 if env["tools"]:
     env_gdscript.add_source_files(env.modules_sources, "./editor/*.cpp")
 
+    SConscript("editor/script_templates/SCsub")
+
     # Those two modules are required for the language server protocol
     if env["module_jsonrpc_enabled"] and env["module_websocket_enabled"]:
         env_gdscript.add_source_files(env.modules_sources, "./language_server/*.cpp")
@@ -18,8 +20,7 @@ if env["tools"]:
         # in regular builds where all modules are enabled.
         env_gdscript.Append(CPPDEFINES=["GDSCRIPT_NO_LSP"])
 
+
 if env["tests"]:
     env_gdscript.Append(CPPDEFINES=["TESTS_ENABLED"])
     env_gdscript.add_source_files(env.modules_sources, "./tests/*.cpp")
-
-SConscript("editor_templates/SCsub")

+ 0 - 0
modules/gdscript/editor_templates/CharacterBody2D/basic_movement.gd → modules/gdscript/editor/script_templates/CharacterBody2D/basic_movement.gd


+ 0 - 0
modules/gdscript/editor_templates/CharacterBody3D/basic_movement.gd → modules/gdscript/editor/script_templates/CharacterBody3D/basic_movement.gd


+ 0 - 0
modules/gdscript/editor_templates/EditorPlugin/plugin.gd → modules/gdscript/editor/script_templates/EditorPlugin/plugin.gd


+ 0 - 0
modules/gdscript/editor_templates/EditorScript/basic_editor_script.gd → modules/gdscript/editor/script_templates/EditorScript/basic_editor_script.gd


+ 0 - 0
modules/gdscript/editor_templates/Node/default.gd → modules/gdscript/editor/script_templates/Node/default.gd


+ 0 - 0
modules/gdscript/editor_templates/Object/empty.gd → modules/gdscript/editor/script_templates/Object/empty.gd


+ 0 - 0
modules/gdscript/editor_templates/SCsub → modules/gdscript/editor/script_templates/SCsub


+ 0 - 0
modules/gdscript/editor_templates/VisualShaderNodeCustom/basic.gd → modules/gdscript/editor/script_templates/VisualShaderNodeCustom/basic.gd


+ 7 - 12
modules/gdscript/gdscript_editor.cpp

@@ -33,7 +33,6 @@
 #include "core/config/engine.h"
 #include "core/core_constants.h"
 #include "core/io/file_access.h"
-#include "editor_templates/templates.gen.h"
 #include "gdscript_analyzer.h"
 #include "gdscript_compiler.h"
 #include "gdscript_parser.h"
@@ -44,6 +43,7 @@
 #include "core/config/project_settings.h"
 #include "editor/editor_file_system.h"
 #include "editor/editor_settings.h"
+#include "editor/script_templates/templates.gen.h"
 #endif
 
 void GDScriptLanguage::get_comment_delimiters(List<String> *p_delimiters) const {
@@ -64,8 +64,11 @@ Ref<Script> GDScriptLanguage::make_template(const String &p_template, const Stri
 	Ref<GDScript> script;
 	script.instantiate();
 	String processed_template = p_template;
+	bool type_hints = false;
 #ifdef TOOLS_ENABLED
-	if (!EDITOR_GET("text_editor/completion/add_type_hints")) {
+	type_hints = EDITOR_GET("text_editor/completion/add_type_hints");
+#endif
+	if (!type_hints) {
 		processed_template = processed_template.replace(": int", "")
 									 .replace(": String", "")
 									 .replace(": Array[String]", "")
@@ -75,16 +78,6 @@ Ref<Script> GDScriptLanguage::make_template(const String &p_template, const Stri
 									 .replace(" -> int", "")
 									 .replace(" -> void", "");
 	}
-#else
-	processed_template = processed_template.replace(": int", "")
-								 .replace(": String", "")
-								 .replace(": Array[String]", "")
-								 .replace(": float", "")
-								 .replace(":=", "=")
-								 .replace(" -> String", "")
-								 .replace(" -> int", "")
-								 .replace(" -> void", "");
-#endif
 
 	processed_template = processed_template.replace("_BASE_", p_base_class_name)
 								 .replace("_CLASS_", p_class_name)
@@ -95,11 +88,13 @@ Ref<Script> GDScriptLanguage::make_template(const String &p_template, const Stri
 
 Vector<ScriptLanguage::ScriptTemplate> GDScriptLanguage::get_built_in_templates(StringName p_object) {
 	Vector<ScriptLanguage::ScriptTemplate> templates;
+#ifdef TOOLS_ENABLED
 	for (int i = 0; i < TEMPLATES_ARRAY_SIZE; i++) {
 		if (TEMPLATES[i].inherit == p_object) {
 			templates.append(TEMPLATES[i]);
 		}
 	}
+#endif
 	return templates;
 }
 

+ 1 - 2
modules/mono/SCsub

@@ -63,5 +63,4 @@ elif env["platform"] == "android":
 
 if env["tools"]:
     env_mono.add_source_files(env.modules_sources, "editor/*.cpp")
-
-SConscript("editor_templates/SCsub")
+    SConscript("editor/script_templates/SCsub")

+ 4 - 2
modules/mono/csharp_script.cpp

@@ -45,17 +45,17 @@
 #ifdef TOOLS_ENABLED
 #include "core/os/keyboard.h"
 #include "editor/bindings_generator.h"
+#include "editor/editor_internal_calls.h"
 #include "editor/editor_node.h"
 #include "editor/editor_settings.h"
 #include "editor/node_dock.h"
+#include "editor/script_templates/templates.gen.h"
 #endif
 
 #ifdef DEBUG_METHODS_ENABLED
 #include "class_db_api_json.h"
 #endif
 
-#include "editor/editor_internal_calls.h"
-#include "editor_templates/templates.gen.h"
 #include "godotsharp_dirs.h"
 #include "mono_gd/gd_mono_cache.h"
 #include "mono_gd/gd_mono_class.h"
@@ -373,11 +373,13 @@ Ref<Script> CSharpLanguage::make_template(const String &p_template, const String
 
 Vector<ScriptLanguage::ScriptTemplate> CSharpLanguage::get_built_in_templates(StringName p_object) {
 	Vector<ScriptLanguage::ScriptTemplate> templates;
+#ifdef TOOLS_ENABLED
 	for (int i = 0; i < TEMPLATES_ARRAY_SIZE; i++) {
 		if (TEMPLATES[i].inherit == p_object) {
 			templates.append(TEMPLATES[i]);
 		}
 	}
+#endif
 	return templates;
 }
 

+ 0 - 0
modules/mono/editor_templates/CharacterBody2D/basic_movement.cs → modules/mono/editor/script_templates/CharacterBody2D/basic_movement.cs


+ 0 - 0
modules/mono/editor_templates/CharacterBody3D/basic_movement.cs → modules/mono/editor/script_templates/CharacterBody3D/basic_movement.cs


+ 0 - 0
modules/mono/editor_templates/EditorPlugin/plugin.cs → modules/mono/editor/script_templates/EditorPlugin/plugin.cs


+ 0 - 0
modules/mono/editor_templates/EditorScript/basic_editor_script.cs → modules/mono/editor/script_templates/EditorScript/basic_editor_script.cs


+ 0 - 0
modules/mono/editor_templates/Node/default.cs → modules/mono/editor/script_templates/Node/default.cs


+ 0 - 0
modules/mono/editor_templates/Object/empty.cs → modules/mono/editor/script_templates/Object/empty.cs


+ 0 - 0
modules/mono/editor_templates/SCsub → modules/mono/editor/script_templates/SCsub


+ 0 - 0
modules/mono/editor_templates/VisualShaderNodeCustom/basic.cs → modules/mono/editor/script_templates/VisualShaderNodeCustom/basic.cs