summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/basis_universal/image_compress_basisu.cpp6
-rw-r--r--modules/csg/csg_shape.cpp5
-rw-r--r--modules/csg/doc_classes/CSGShape3D.xml2
-rw-r--r--modules/csg/icons/CSGBox3D.svg2
-rw-r--r--modules/csg/icons/CSGCapsule3D.svg2
-rw-r--r--modules/csg/icons/CSGCombiner3D.svg2
-rw-r--r--modules/csg/icons/CSGCylinder3D.svg2
-rw-r--r--modules/csg/icons/CSGMesh3D.svg2
-rw-r--r--modules/csg/icons/CSGPolygon3D.svg2
-rw-r--r--modules/csg/icons/CSGSphere3D.svg2
-rw-r--r--modules/csg/icons/CSGTorus3D.svg2
-rw-r--r--modules/gdscript/doc_classes/@GDScript.xml2
-rw-r--r--modules/gdscript/editor/gdscript_highlighter.cpp2
-rw-r--r--modules/gdscript/gdscript.cpp240
-rw-r--r--modules/gdscript/gdscript.h2
-rw-r--r--modules/gdscript/gdscript_analyzer.cpp50
-rw-r--r--modules/gdscript/gdscript_cache.cpp41
-rw-r--r--modules/gdscript/gdscript_cache.h3
-rw-r--r--modules/gdscript/gdscript_compiler.cpp8
-rw-r--r--modules/gdscript/gdscript_editor.cpp62
-rw-r--r--modules/gdscript/gdscript_parser.cpp132
-rw-r--r--modules/gdscript/gdscript_parser.h3
-rw-r--r--modules/gdscript/gdscript_warning.cpp4
-rw-r--r--modules/gdscript/gdscript_warning.h2
-rw-r--r--modules/gdscript/icons/GDScript.svg2
-rw-r--r--modules/gdscript/icons/GDScriptInternal.svg2
-rw-r--r--modules/gdscript/tests/README.md2
-rw-r--r--modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd23
-rw-r--r--modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.out19
-rw-r--r--modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_node_path_tween.cfg11
-rw-r--r--modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_node_path_tween.gd8
-rw-r--r--modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_string_name_input_event.cfg9
-rw-r--r--modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_string_name_input_event.gd3
-rw-r--r--modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_node_path_tween.cfg11
-rw-r--r--modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_node_path_tween.gd8
-rw-r--r--modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_string_name_input_event.cfg9
-rw-r--r--modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_string_name_input_event.gd3
-rw-r--r--modules/gdscript/tests/scripts/completion/common/identifiers.cfg21
-rw-r--r--modules/gdscript/tests/scripts/completion/common/identifiers.gd16
-rw-r--r--modules/gdscript/tests/scripts/completion/common/self.cfg21
-rw-r--r--modules/gdscript/tests/scripts/completion/common/self.gd16
-rw-r--r--modules/gdscript/tests/scripts/completion/filter/organized_export.cfg6
-rw-r--r--modules/gdscript/tests/scripts/completion/filter/organized_export.gd8
-rw-r--r--modules/gdscript/tests/scripts/completion/filter/usage_internal.cfg4
-rw-r--r--modules/gdscript/tests/scripts/completion/filter/usage_internal.gd3
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/interfered.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/interfered.gd8
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/no_type.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/no_type.gd8
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/typehint.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/typehint.gd8
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/typehint_broad.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/typehint_broad.gd8
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.gd8
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/interfered.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/interfered.gd9
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/no_type.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/no_type.gd9
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/typehint.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/typehint.gd9
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/typehint_broad.cfg13
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/typehint_broad.gd9
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.cfg12
-rw-r--r--modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.gd9
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_variable.gd6
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_variable.notest.gd2
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_variable.out6
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_variable_global.notest.gd2
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_variable_unnamed.notest.gd1
-rw-r--r--modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd1
-rw-r--r--modules/gdscript/tests/scripts/project.godot7
-rw-r--r--modules/gdscript/tests/test_completion.h2
-rw-r--r--modules/glslang/register_types.cpp1
-rw-r--r--modules/gltf/editor/editor_scene_importer_blend.cpp8
-rw-r--r--modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp11
-rw-r--r--modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.h1
-rw-r--r--modules/gltf/gltf_document.cpp25
-rw-r--r--modules/gridmap/editor/grid_map_editor_plugin.cpp29
-rw-r--r--modules/gridmap/icons/GridMap.svg2
-rw-r--r--modules/interactive_music/editor/audio_stream_interactive_editor_plugin.cpp12
-rw-r--r--modules/mbedtls/tls_context_mbedtls.cpp12
-rw-r--r--modules/minimp3/audio_stream_mp3.cpp28
-rw-r--r--modules/minimp3/audio_stream_mp3.h13
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AbstractGenericNode(Of T)_ScriptProperties.generated.cs12
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllReadOnly_ScriptProperties.generated.cs32
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllWriteOnly_ScriptProperties.generated.cs20
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/EventSignals_ScriptSignals.generated.cs10
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0106_OK_ScriptPropertyDefVal.generated.cs2
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0107_OK_ScriptPropertyDefVal.generated.cs4
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedComplexStrings_ScriptPropertyDefVal.generated.cs10
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptProperties.generated.cs720
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptPropertyDefVal.generated.cs120
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptProperties.generated.cs828
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptPropertyDefVal.generated.cs128
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/Methods_ScriptMethods.generated.cs22
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/MixedReadOnlyWriteOnly_ScriptProperties.generated.cs52
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/OuterClass.NestedClass_ScriptMethods.generated.cs10
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptMethods.generated.cs20
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptProperties.generated.cs24
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptSerialization.generated.cs12
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs9
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs14
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertyDefValGenerator.cs2
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSerializationGenerator.cs20
-rw-r--r--modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs10
-rw-r--r--modules/mono/icons/BuildCSharp.svg2
-rw-r--r--modules/mono/icons/CSharpScript.svg2
-rw-r--r--modules/multiplayer/editor/editor_network_profiler.cpp4
-rw-r--r--modules/multiplayer/editor/replication_editor.cpp4
-rw-r--r--modules/multiplayer/multiplayer_spawner.cpp2
-rw-r--r--modules/multiplayer/multiplayer_synchronizer.cpp2
-rw-r--r--modules/navigation/2d/nav_mesh_generator_2d.cpp25
-rw-r--r--modules/navigation/3d/godot_navigation_server_3d.cpp2
-rw-r--r--modules/navigation/3d/nav_mesh_generator_3d.cpp29
-rw-r--r--modules/navigation/nav_map.cpp27
-rw-r--r--modules/navigation/nav_region.cpp72
-rw-r--r--modules/navigation/nav_region.h11
-rw-r--r--modules/navigation/nav_utils.h6
-rw-r--r--modules/noise/icons/NoiseTexture2D.svg2
-rw-r--r--modules/noise/icons/NoiseTexture3D.svg2
-rw-r--r--modules/openxr/editor/openxr_action_editor.cpp6
-rw-r--r--modules/openxr/editor/openxr_action_set_editor.cpp6
-rw-r--r--modules/openxr/editor/openxr_select_runtime.cpp4
-rw-r--r--modules/openxr/openxr_api.cpp140
-rw-r--r--modules/openxr/openxr_api.h12
-rw-r--r--modules/raycast/config.py2
-rw-r--r--modules/regex/icons/RegEx.svg2
-rw-r--r--modules/regex/icons/RegExMatch.svg2
-rw-r--r--modules/text_server_adv/text_server_adv.cpp181
-rw-r--r--modules/text_server_fb/text_server_fb.cpp132
-rw-r--r--modules/vorbis/audio_stream_ogg_vorbis.cpp28
-rw-r--r--modules/vorbis/audio_stream_ogg_vorbis.h13
-rw-r--r--modules/webxr/doc_classes/WebXRInterface.xml17
-rw-r--r--modules/webxr/godot_webxr.h2
-rw-r--r--modules/webxr/native/library_godot_webxr.js8
-rw-r--r--modules/webxr/native/webxr.externs.js10
-rw-r--r--modules/webxr/webxr_interface_js.cpp62
-rw-r--r--modules/webxr/webxr_interface_js.h8
139 files changed, 2449 insertions, 1619 deletions
diff --git a/modules/basis_universal/image_compress_basisu.cpp b/modules/basis_universal/image_compress_basisu.cpp
index d8ef1c0414..216fa6c9a2 100644
--- a/modules/basis_universal/image_compress_basisu.cpp
+++ b/modules/basis_universal/image_compress_basisu.cpp
@@ -65,6 +65,12 @@ Vector<uint8_t> basis_universal_packer(const Ref<Image> &p_image, Image::UsedCha
params.m_multithreading = true;
params.m_check_for_alpha = false;
+ if (!OS::get_singleton()->is_stdout_verbose()) {
+ params.m_print_stats = false;
+ params.m_compute_stats = false;
+ params.m_status_output = false;
+ }
+
basisu::job_pool job_pool(OS::get_singleton()->get_processor_count());
params.m_pJob_pool = &job_pool;
diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp
index 8d2847ab1a..296cda627a 100644
--- a/modules/csg/csg_shape.cpp
+++ b/modules/csg/csg_shape.cpp
@@ -141,7 +141,12 @@ bool CSGShape3D::is_root_shape() const {
}
void CSGShape3D::set_snap(float p_snap) {
+ if (snap == p_snap) {
+ return;
+ }
+
snap = p_snap;
+ _make_dirty();
}
float CSGShape3D::get_snap() const {
diff --git a/modules/csg/doc_classes/CSGShape3D.xml b/modules/csg/doc_classes/CSGShape3D.xml
index 0414aa362d..f9017e47c7 100644
--- a/modules/csg/doc_classes/CSGShape3D.xml
+++ b/modules/csg/doc_classes/CSGShape3D.xml
@@ -73,7 +73,7 @@
The operation that is performed on this shape. This is ignored for the first CSG child node as the operation is between this node and the previous child of this nodes parent.
</member>
<member name="snap" type="float" setter="set_snap" getter="get_snap" default="0.001">
- Snap makes the mesh vertices snap to a given distance so that the faces of two meshes can be perfectly aligned. A lower value results in greater precision but may be harder to adjust.
+ Snap makes the mesh vertices snap to a given distance so that the faces of two meshes can be perfectly aligned. A lower value results in greater precision but may be harder to adjust. The top-level CSG shape's snap value is used for the entire CSG tree.
</member>
<member name="use_collision" type="bool" setter="set_use_collision" getter="is_using_collision" default="false">
Adds a collision shape to the physics engine for our CSG shape. This will always act like a static body. Note that the collision shape is still active even if the CSG shape itself is hidden. See also [member collision_mask] and [member collision_priority].
diff --git a/modules/csg/icons/CSGBox3D.svg b/modules/csg/icons/CSGBox3D.svg
index d425180cf5..ad3e490dcf 100644
--- a/modules/csg/icons/CSGBox3D.svg
+++ b/modules/csg/icons/CSGBox3D.svg
@@ -1 +1 @@
-<svg height="16" width="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><mask id="a"><path d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z" fill="#fefefe"/></mask><path d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z" fill="#5fb2ff"/><path d="m8 2 6 3v6l-6 3-6-3V5zm0 12V8l6-3M8 8 2 5" fill="none" stroke-width="2" stroke="#fc7f7f" mask="url(#a)"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><mask id="a"><path fill="#fefefe" d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z"/></mask><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="none" stroke="#fc7f7f" stroke-width="2" d="m8 2 6 3v6l-6 3-6-3V5zm0 12V8l6-3M8 8 2 5" mask="url(#a)"/></svg> \ No newline at end of file
diff --git a/modules/csg/icons/CSGCapsule3D.svg b/modules/csg/icons/CSGCapsule3D.svg
index 3c2657999c..54a5e3d698 100644
--- a/modules/csg/icons/CSGCapsule3D.svg
+++ b/modules/csg/icons/CSGCapsule3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><mask id="a"><path d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z" fill="#fefefe"/></mask><path d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z" fill="#5fb2ff"/><path d="M4 6a4 4 0 0 1 8 0v4a4 4 0 0 1-8 0zm0 1.25a2.5 1 0 0 0 8 0m-4-5v12" fill="none" stroke-width="2" stroke="#fc7f7f" mask="url(#a)"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><mask id="a"><path fill="#fefefe" d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z"/></mask><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="none" stroke="#fc7f7f" stroke-width="2" d="M4 6a4 4 0 0 1 8 0v4a4 4 0 0 1-8 0zm0 1.25a2.5 1 0 0 0 8 0m-4-5v12" mask="url(#a)"/></svg> \ No newline at end of file
diff --git a/modules/csg/icons/CSGCombiner3D.svg b/modules/csg/icons/CSGCombiner3D.svg
index 8598897e92..e65bb1c081 100644
--- a/modules/csg/icons/CSGCombiner3D.svg
+++ b/modules/csg/icons/CSGCombiner3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z" fill="#5fb2ff"/><path d="M3 1a2 2 0 0 0-2 2h2zm2 0v2h2V1zm4 0v2h2V1zm4 0v2h2a2 2 0 0 0-2-2zM1 5v2h2V5zm12 0v2h2V5zM1 9v2h2V9zm0 4a2 2 0 0 0 2 2v-2zm4 0v2h2v-2z" fill="#fc7f7f"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="#fc7f7f" d="M3 1a2 2 0 0 0-2 2h2zm2 0v2h2V1zm4 0v2h2V1zm4 0v2h2a2 2 0 0 0-2-2zM1 5v2h2V5zm12 0v2h2V5zM1 9v2h2V9zm0 4a2 2 0 0 0 2 2v-2zm4 0v2h2v-2z"/></svg> \ No newline at end of file
diff --git a/modules/csg/icons/CSGCylinder3D.svg b/modules/csg/icons/CSGCylinder3D.svg
index 19e48b4dba..366f1d9c4b 100644
--- a/modules/csg/icons/CSGCylinder3D.svg
+++ b/modules/csg/icons/CSGCylinder3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><mask id="a"><path d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z" fill="#fefefe"/></mask><path d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z" fill="#5fb2ff"/><path d="M2 4v8a6 2 0 0 0 12 0V4A6 2 0 0 0 2 4a6 2 0 0 0 12 0" stroke-width="2" fill="none" stroke="#fc7f7f" mask="url(#a)"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><mask id="a"><path fill="#fefefe" d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z"/></mask><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="none" stroke="#fc7f7f" stroke-width="2" d="M2 4v8a6 2 0 0 0 12 0V4A6 2 0 0 0 2 4a6 2 0 0 0 12 0" mask="url(#a)"/></svg> \ No newline at end of file
diff --git a/modules/csg/icons/CSGMesh3D.svg b/modules/csg/icons/CSGMesh3D.svg
index a1c2282fe5..d115a64f80 100644
--- a/modules/csg/icons/CSGMesh3D.svg
+++ b/modules/csg/icons/CSGMesh3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M4.73 2A2 2 0 1 0 2 4.73v6.541A2 2 0 1 0 4.729 14H8v-2H4.729A2 2 0 0 0 4 11.271V5.415l4.914 4.916A2 2 0 0 1 9.998 10a2 2 0 0 1 .33-1.084L5.414 4h5.856a2 2 0 0 0 .73.729V8h2V4.729A2 2 0 1 0 11.27 2z" fill="#fc7f7f"/><path d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z" fill="#5fb2ff"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fc7f7f" d="M4.73 2A2 2 0 1 0 2 4.73v6.541A2 2 0 1 0 4.729 14H8v-2H4.729A2 2 0 0 0 4 11.271V5.415l4.914 4.916A2 2 0 0 1 9.998 10a2 2 0 0 1 .33-1.084L5.414 4h5.856a2 2 0 0 0 .73.729V8h2V4.729A2 2 0 1 0 11.27 2z"/><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/></svg> \ No newline at end of file
diff --git a/modules/csg/icons/CSGPolygon3D.svg b/modules/csg/icons/CSGPolygon3D.svg
index 090047248b..ab7f61132b 100644
--- a/modules/csg/icons/CSGPolygon3D.svg
+++ b/modules/csg/icons/CSGPolygon3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><mask id="a"><path d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z" fill="#fefefe"/></mask><path d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z" fill="#5fb2ff"/><path d="m8 2 6 3.5v5L8 14l-6-3.5v-5h6zm6 3.5L8 9 2 5.5M8 9v5" fill="none" stroke-linejoin="round" stroke-width="2" stroke="#fc7f7f" mask="url(#a)"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><mask id="a"><path fill="#fefefe" d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z"/></mask><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="none" stroke="#fc7f7f" stroke-linejoin="round" stroke-width="2" d="m8 2 6 3.5v5L8 14l-6-3.5v-5h6zm6 3.5L8 9 2 5.5M8 9v5" mask="url(#a)"/></svg> \ No newline at end of file
diff --git a/modules/csg/icons/CSGSphere3D.svg b/modules/csg/icons/CSGSphere3D.svg
index a677ffaf5c..96a63df153 100644
--- a/modules/csg/icons/CSGSphere3D.svg
+++ b/modules/csg/icons/CSGSphere3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><mask id="a"><path d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z" fill="#fefefe"/></mask><path d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z" fill="#5fb2ff"/><path d="M8 2a6 6 0 0 0 0 12A6 6 0 0 0 8 2v12M2.05 7.4a6 2 0 0 0 11.9 0" fill="none" stroke-width="2" stroke="#fc7f7f" mask="url(#a)"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><mask id="a"><path fill="#fefefe" d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z"/></mask><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><path fill="none" stroke="#fc7f7f" stroke-width="2" d="M8 2a6 6 0 0 0 0 12A6 6 0 0 0 8 2v12M2.05 7.4a6 2 0 0 0 11.9 0" mask="url(#a)"/></svg> \ No newline at end of file
diff --git a/modules/csg/icons/CSGTorus3D.svg b/modules/csg/icons/CSGTorus3D.svg
index 60c56bd1ca..1f7565782f 100644
--- a/modules/csg/icons/CSGTorus3D.svg
+++ b/modules/csg/icons/CSGTorus3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><mask id="a"><path d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z" fill="#fefefe"/></mask><path d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z" fill="#5fb2ff"/><g fill="none" stroke="#fc7f7f" mask="url(#a)"><path d="M2.5 10a6 4 0 0 0 11 0 4 4 0 0 0 0-4 6 4 0 0 0-11 0 4 4 0 0 0 0 4z" stroke-width="2"/><path d="M6.2 7.2a2 1 0 1 0 3.6 0" stroke-width="1.75" stroke-linecap="round"/></g></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><mask id="a"><path fill="#fefefe" d="M0 0h16v10a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2 2 2 0 0 0-2 2v2a2 2 0 0 0 2 2H0z"/></mask><path fill="#5fb2ff" d="M12 9a1 1 0 0 0-1 1v1h2v2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1zm1 4h-2v-2h-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"/><g fill="none" stroke="#fc7f7f" mask="url(#a)"><path stroke-width="2" d="M2.5 10a6 4 0 0 0 11 0 4 4 0 0 0 0-4 6 4 0 0 0-11 0 4 4 0 0 0 0 4z"/><path stroke-linecap="round" stroke-width="1.75" d="M6.2 7.2a2 1 0 1 0 3.6 0"/></g></svg> \ No newline at end of file
diff --git a/modules/gdscript/doc_classes/@GDScript.xml b/modules/gdscript/doc_classes/@GDScript.xml
index 1909ca5ab5..6e7ac0dec9 100644
--- a/modules/gdscript/doc_classes/@GDScript.xml
+++ b/modules/gdscript/doc_classes/@GDScript.xml
@@ -314,7 +314,7 @@
@export var image_array: Array[Image]
@export var node_array: Array[Node]
[/codeblock]
- [b]Note:[/b] Custom resources and nodes must be registered as global classes using [code]class_name[/code].
+ [b]Note:[/b] Custom resources and nodes should be registered as global classes using [code]class_name[/code], since the Inspector currently only supports global classes. Otherwise, a less specific type will be exported instead.
[b]Note:[/b] Node export is only supported in [Node]-derived classes and has a number of other limitations.
</description>
</annotation>
diff --git a/modules/gdscript/editor/gdscript_highlighter.cpp b/modules/gdscript/editor/gdscript_highlighter.cpp
index f83b784f85..eecce70202 100644
--- a/modules/gdscript/editor/gdscript_highlighter.cpp
+++ b/modules/gdscript/editor/gdscript_highlighter.cpp
@@ -690,7 +690,7 @@ void GDScriptSyntaxHighlighter::_update_cache() {
color_regions.clear();
color_region_cache.clear();
- font_color = text_edit->get_theme_color(SNAME("font_color"));
+ font_color = text_edit->get_theme_color(SceneStringName(font_color));
symbol_color = EDITOR_GET("text_editor/theme/highlighting/symbol_color");
function_color = EDITOR_GET("text_editor/theme/highlighting/function_color");
number_color = EDITOR_GET("text_editor/theme/highlighting/number_color");
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp
index 0c58b41fcb..73b1e44db3 100644
--- a/modules/gdscript/gdscript.cpp
+++ b/modules/gdscript/gdscript.cpp
@@ -115,7 +115,7 @@ Variant GDScriptNativeClass::callp(const StringName &p_method, const Variant **p
}
GDScriptFunction *GDScript::_super_constructor(GDScript *p_script) {
- if (p_script->initializer) {
+ if (likely(p_script->valid) && p_script->initializer) {
return p_script->initializer;
} else {
GDScript *base_src = p_script->_base;
@@ -136,7 +136,11 @@ void GDScript::_super_implicit_constructor(GDScript *p_script, GDScriptInstance
}
}
ERR_FAIL_NULL(p_script->implicit_initializer);
- p_script->implicit_initializer->call(p_instance, nullptr, 0, r_error);
+ if (likely(valid)) {
+ p_script->implicit_initializer->call(p_instance, nullptr, 0, r_error);
+ } else {
+ r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
+ }
}
GDScriptInstance *GDScript::_create_instance(const Variant **p_args, int p_argcount, Object *p_owner, bool p_is_ref_counted, Callable::CallError &r_error) {
@@ -662,7 +666,7 @@ String GDScript::_get_debug_path() const {
}
Error GDScript::_static_init() {
- if (static_initializer) {
+ if (likely(valid) && static_initializer) {
Callable::CallError call_err;
static_initializer->call(nullptr, nullptr, 0, call_err);
if (call_err.error != Callable::CallError::CALL_OK) {
@@ -679,8 +683,6 @@ Error GDScript::_static_init() {
return err;
}
-#ifdef TOOLS_ENABLED
-
void GDScript::_static_default_init() {
for (const KeyValue<StringName, MemberInfo> &E : static_variables_indices) {
const GDScriptDataType &type = E.value.data_type;
@@ -702,6 +704,8 @@ void GDScript::_static_default_init() {
}
}
+#ifdef TOOLS_ENABLED
+
void GDScript::_save_old_static_data() {
old_static_variables_indices = static_variables_indices;
old_static_variables = static_variables;
@@ -771,8 +775,16 @@ Error GDScript::reload(bool p_keep_state) {
if (GDScriptCache::has_parser(source_path)) {
Error err = OK;
Ref<GDScriptParserRef> parser_ref = GDScriptCache::get_parser(source_path, GDScriptParserRef::EMPTY, err);
- if (parser_ref.is_valid() && parser_ref->get_source_hash() != source.hash()) {
- GDScriptCache::remove_parser(source_path);
+ if (parser_ref.is_valid()) {
+ uint32_t source_hash;
+ if (!binary_tokens.is_empty()) {
+ source_hash = hash_djb2_buffer(binary_tokens.ptr(), binary_tokens.size());
+ } else {
+ source_hash = source.hash();
+ }
+ if (parser_ref->get_source_hash() != source_hash) {
+ GDScriptCache::remove_parser(source_path);
+ }
}
}
}
@@ -865,9 +877,6 @@ Error GDScript::reload(bool p_keep_state) {
#ifdef TOOLS_ENABLED
if (can_run && p_keep_state) {
_restore_old_static_data();
- } else if (!can_run) {
- // Initialize static variables with sane default values even if the constructor isn't called.
- _static_default_init();
}
#endif
@@ -904,18 +913,15 @@ void GDScript::unload_static() const {
}
Variant GDScript::callp(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error) {
- if (unlikely(!valid)) {
- r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
- return Variant();
- }
-
GDScript *top = this;
while (top) {
- HashMap<StringName, GDScriptFunction *>::Iterator E = top->member_functions.find(p_method);
- if (E) {
- ERR_FAIL_COND_V_MSG(!E->value->is_static(), Variant(), "Can't call non-static function '" + String(p_method) + "' in script.");
+ if (likely(top->valid)) {
+ HashMap<StringName, GDScriptFunction *>::Iterator E = top->member_functions.find(p_method);
+ if (E) {
+ ERR_FAIL_COND_V_MSG(!E->value->is_static(), Variant(), "Can't call non-static function '" + String(p_method) + "' in script.");
- return E->value->call(nullptr, p_args, p_argcount, r_error);
+ return E->value->call(nullptr, p_args, p_argcount, r_error);
+ }
}
top = top->_base;
}
@@ -931,10 +937,6 @@ bool GDScript::_get(const StringName &p_name, Variant &r_ret) const {
return true;
}
- if (unlikely(!valid)) {
- return false;
- }
-
const GDScript *top = this;
while (top) {
{
@@ -948,7 +950,7 @@ bool GDScript::_get(const StringName &p_name, Variant &r_ret) const {
{
HashMap<StringName, MemberInfo>::ConstIterator E = top->static_variables_indices.find(p_name);
if (E) {
- if (E->value.getter) {
+ if (likely(top->valid) && E->value.getter) {
Callable::CallError ce;
r_ret = const_cast<GDScript *>(this)->callp(E->value.getter, nullptr, 0, ce);
return true;
@@ -958,7 +960,7 @@ bool GDScript::_get(const StringName &p_name, Variant &r_ret) const {
}
}
- {
+ if (likely(top->valid)) {
HashMap<StringName, GDScriptFunction *>::ConstIterator E = top->member_functions.find(p_name);
if (E && E->value->is_static()) {
if (top->rpc_config.has(p_name)) {
@@ -987,14 +989,10 @@ bool GDScript::_get(const StringName &p_name, Variant &r_ret) const {
bool GDScript::_set(const StringName &p_name, const Variant &p_value) {
if (p_name == GDScriptLanguage::get_singleton()->strings._script_source) {
set_source_code(p_value);
- reload();
+ reload(true);
return true;
}
- if (unlikely(!valid)) {
- return false;
- }
-
GDScript *top = this;
while (top) {
HashMap<StringName, MemberInfo>::ConstIterator E = top->static_variables_indices.find(p_name);
@@ -1009,7 +1007,7 @@ bool GDScript::_set(const StringName &p_name, const Variant &p_value) {
return false;
}
}
- if (member->setter) {
+ if (likely(top->valid) && member->setter) {
const Variant *args = &value;
Callable::CallError err;
callp(member->setter, &args, 1, err);
@@ -1029,10 +1027,6 @@ bool GDScript::_set(const StringName &p_name, const Variant &p_value) {
void GDScript::_get_property_list(List<PropertyInfo> *p_properties) const {
p_properties->push_back(PropertyInfo(Variant::STRING, "script/source", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL));
- if (unlikely(!valid)) {
- return;
- }
-
List<const GDScript *> classes;
const GDScript *top = this;
while (top) {
@@ -1649,10 +1643,6 @@ GDScript::~GDScript() {
//////////////////////////////
bool GDScriptInstance::set(const StringName &p_name, const Variant &p_value) {
- if (unlikely(!script->valid)) {
- return false;
- }
-
{
HashMap<StringName, GDScript::MemberInfo>::Iterator E = script->member_indices.find(p_name);
if (E) {
@@ -1666,7 +1656,7 @@ bool GDScriptInstance::set(const StringName &p_name, const Variant &p_value) {
return false;
}
}
- if (member->setter) {
+ if (likely(script->valid) && member->setter) {
const Variant *args = &value;
Callable::CallError err;
callp(member->setter, &args, 1, err);
@@ -1693,7 +1683,7 @@ bool GDScriptInstance::set(const StringName &p_name, const Variant &p_value) {
return false;
}
}
- if (member->setter) {
+ if (likely(sptr->valid) && member->setter) {
const Variant *args = &value;
Callable::CallError err;
callp(member->setter, &args, 1, err);
@@ -1705,7 +1695,7 @@ bool GDScriptInstance::set(const StringName &p_name, const Variant &p_value) {
}
}
- {
+ if (likely(sptr->valid)) {
HashMap<StringName, GDScriptFunction *>::Iterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._set);
if (E) {
Variant name = p_name;
@@ -1726,14 +1716,10 @@ bool GDScriptInstance::set(const StringName &p_name, const Variant &p_value) {
}
bool GDScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
- if (unlikely(!script->valid)) {
- return false;
- }
-
{
HashMap<StringName, GDScript::MemberInfo>::ConstIterator E = script->member_indices.find(p_name);
if (E) {
- if (E->value.getter) {
+ if (likely(script->valid) && E->value.getter) {
Callable::CallError err;
r_ret = const_cast<GDScriptInstance *>(this)->callp(E->value.getter, nullptr, 0, err);
if (err.error == Callable::CallError::CALL_OK) {
@@ -1758,7 +1744,7 @@ bool GDScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
{
HashMap<StringName, GDScript::MemberInfo>::ConstIterator E = sptr->static_variables_indices.find(p_name);
if (E) {
- if (E->value.getter) {
+ if (likely(sptr->valid) && E->value.getter) {
Callable::CallError ce;
r_ret = const_cast<GDScript *>(sptr)->callp(E->value.getter, nullptr, 0, ce);
return true;
@@ -1776,7 +1762,7 @@ bool GDScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
}
}
- {
+ if (likely(sptr->valid)) {
HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(p_name);
if (E) {
if (sptr->rpc_config.has(p_name)) {
@@ -1796,7 +1782,7 @@ bool GDScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
}
}
- {
+ if (likely(sptr->valid)) {
HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._get);
if (E) {
Variant name = p_name;
@@ -1836,13 +1822,15 @@ void GDScriptInstance::validate_property(PropertyInfo &p_property) const {
const GDScript *sptr = script.ptr();
while (sptr) {
- HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._validate_property);
- if (E) {
- Callable::CallError err;
- Variant ret = E->value->call(const_cast<GDScriptInstance *>(this), args, 1, err);
- if (err.error == Callable::CallError::CALL_OK) {
- p_property = PropertyInfo::from_dict(property);
- return;
+ if (likely(sptr->valid)) {
+ HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._validate_property);
+ if (E) {
+ Callable::CallError err;
+ Variant ret = E->value->call(const_cast<GDScriptInstance *>(this), args, 1, err);
+ if (err.error == Callable::CallError::CALL_OK) {
+ p_property = PropertyInfo::from_dict(property);
+ return;
+ }
}
}
sptr = sptr->_base;
@@ -1850,49 +1838,47 @@ void GDScriptInstance::validate_property(PropertyInfo &p_property) const {
}
void GDScriptInstance::get_property_list(List<PropertyInfo> *p_properties) const {
- if (unlikely(!script->valid)) {
- return;
- }
-
// exported members, not done yet!
const GDScript *sptr = script.ptr();
List<PropertyInfo> props;
while (sptr) {
- HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._get_property_list);
- if (E) {
- Callable::CallError err;
- Variant ret = const_cast<GDScriptFunction *>(E->value)->call(const_cast<GDScriptInstance *>(this), nullptr, 0, err);
- if (err.error == Callable::CallError::CALL_OK) {
- ERR_FAIL_COND_MSG(ret.get_type() != Variant::ARRAY, "Wrong type for _get_property_list, must be an array of dictionaries.");
-
- Array arr = ret;
- for (int i = 0; i < arr.size(); i++) {
- Dictionary d = arr[i];
- ERR_CONTINUE(!d.has("name"));
- ERR_CONTINUE(!d.has("type"));
-
- PropertyInfo pinfo;
- pinfo.name = d["name"];
- pinfo.type = Variant::Type(d["type"].operator int());
- if (d.has("hint")) {
- pinfo.hint = PropertyHint(d["hint"].operator int());
- }
- if (d.has("hint_string")) {
- pinfo.hint_string = d["hint_string"];
- }
- if (d.has("usage")) {
- pinfo.usage = d["usage"];
- }
- if (d.has("class_name")) {
- pinfo.class_name = d["class_name"];
- }
+ if (likely(sptr->valid)) {
+ HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._get_property_list);
+ if (E) {
+ Callable::CallError err;
+ Variant ret = const_cast<GDScriptFunction *>(E->value)->call(const_cast<GDScriptInstance *>(this), nullptr, 0, err);
+ if (err.error == Callable::CallError::CALL_OK) {
+ ERR_FAIL_COND_MSG(ret.get_type() != Variant::ARRAY, "Wrong type for _get_property_list, must be an array of dictionaries.");
+
+ Array arr = ret;
+ for (int i = 0; i < arr.size(); i++) {
+ Dictionary d = arr[i];
+ ERR_CONTINUE(!d.has("name"));
+ ERR_CONTINUE(!d.has("type"));
+
+ PropertyInfo pinfo;
+ pinfo.name = d["name"];
+ pinfo.type = Variant::Type(d["type"].operator int());
+ if (d.has("hint")) {
+ pinfo.hint = PropertyHint(d["hint"].operator int());
+ }
+ if (d.has("hint_string")) {
+ pinfo.hint_string = d["hint_string"];
+ }
+ if (d.has("usage")) {
+ pinfo.usage = d["usage"];
+ }
+ if (d.has("class_name")) {
+ pinfo.class_name = d["class_name"];
+ }
- ERR_CONTINUE(pinfo.name.is_empty() && (pinfo.usage & PROPERTY_USAGE_STORAGE));
- ERR_CONTINUE(pinfo.type < 0 || pinfo.type >= Variant::VARIANT_MAX);
+ ERR_CONTINUE(pinfo.name.is_empty() && (pinfo.usage & PROPERTY_USAGE_STORAGE));
+ ERR_CONTINUE(pinfo.type < 0 || pinfo.type >= Variant::VARIANT_MAX);
- props.push_back(pinfo);
+ props.push_back(pinfo);
+ }
}
}
}
@@ -1932,21 +1918,19 @@ void GDScriptInstance::get_property_list(List<PropertyInfo> *p_properties) const
}
bool GDScriptInstance::property_can_revert(const StringName &p_name) const {
- if (unlikely(!script->valid)) {
- return false;
- }
-
Variant name = p_name;
const Variant *args[1] = { &name };
const GDScript *sptr = script.ptr();
while (sptr) {
- HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._property_can_revert);
- if (E) {
- Callable::CallError err;
- Variant ret = E->value->call(const_cast<GDScriptInstance *>(this), args, 1, err);
- if (err.error == Callable::CallError::CALL_OK && ret.get_type() == Variant::BOOL && ret.operator bool()) {
- return true;
+ if (likely(sptr->valid)) {
+ HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._property_can_revert);
+ if (E) {
+ Callable::CallError err;
+ Variant ret = E->value->call(const_cast<GDScriptInstance *>(this), args, 1, err);
+ if (err.error == Callable::CallError::CALL_OK && ret.get_type() == Variant::BOOL && ret.operator bool()) {
+ return true;
+ }
}
}
sptr = sptr->_base;
@@ -1956,22 +1940,20 @@ bool GDScriptInstance::property_can_revert(const StringName &p_name) const {
}
bool GDScriptInstance::property_get_revert(const StringName &p_name, Variant &r_ret) const {
- if (unlikely(!script->valid)) {
- return false;
- }
-
Variant name = p_name;
const Variant *args[1] = { &name };
const GDScript *sptr = script.ptr();
while (sptr) {
- HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._property_get_revert);
- if (E) {
- Callable::CallError err;
- Variant ret = E->value->call(const_cast<GDScriptInstance *>(this), args, 1, err);
- if (err.error == Callable::CallError::CALL_OK && ret.get_type() != Variant::NIL) {
- r_ret = ret;
- return true;
+ if (likely(sptr->valid)) {
+ HashMap<StringName, GDScriptFunction *>::ConstIterator E = sptr->member_functions.find(GDScriptLanguage::get_singleton()->strings._property_get_revert);
+ if (E) {
+ Callable::CallError err;
+ Variant ret = E->value->call(const_cast<GDScriptInstance *>(this), args, 1, err);
+ if (err.error == Callable::CallError::CALL_OK && ret.get_type() != Variant::NIL) {
+ r_ret = ret;
+ return true;
+ }
}
}
sptr = sptr->_base;
@@ -2027,30 +2009,28 @@ void GDScriptInstance::_call_implicit_ready_recursively(GDScript *p_script) {
if (p_script->_base) {
_call_implicit_ready_recursively(p_script->_base);
}
- if (p_script->implicit_ready) {
+ if (likely(p_script->valid) && p_script->implicit_ready) {
Callable::CallError err;
p_script->implicit_ready->call(this, nullptr, 0, err);
}
}
Variant GDScriptInstance::callp(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error) {
- if (unlikely(!script->valid)) {
- r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
- return Variant();
- }
-
GDScript *sptr = script.ptr();
if (unlikely(p_method == SceneStringName(_ready))) {
// Call implicit ready first, including for the super classes recursively.
_call_implicit_ready_recursively(sptr);
}
while (sptr) {
- HashMap<StringName, GDScriptFunction *>::Iterator E = sptr->member_functions.find(p_method);
- if (E) {
- return E->value->call(this, p_args, p_argcount, r_error);
+ if (likely(sptr->valid)) {
+ HashMap<StringName, GDScriptFunction *>::Iterator E = sptr->member_functions.find(p_method);
+ if (E) {
+ return E->value->call(this, p_args, p_argcount, r_error);
+ }
}
sptr = sptr->_base;
}
+
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
return Variant();
}
@@ -2075,12 +2055,14 @@ void GDScriptInstance::notification(int p_notification, bool p_reversed) {
sptr = sptr->_base;
}
for (GDScript *sc : pl) {
- HashMap<StringName, GDScriptFunction *>::Iterator E = sc->member_functions.find(GDScriptLanguage::get_singleton()->strings._notification);
- if (E) {
- Callable::CallError err;
- E->value->call(this, args, 1, err);
- if (err.error != Callable::CallError::CALL_OK) {
- //print error about notification call
+ if (likely(sc->valid)) {
+ HashMap<StringName, GDScriptFunction *>::Iterator E = sc->member_functions.find(GDScriptLanguage::get_singleton()->strings._notification);
+ if (E) {
+ Callable::CallError err;
+ E->value->call(this, args, 1, err);
+ if (err.error != Callable::CallError::CALL_OK) {
+ //print error about notification call
+ }
}
}
}
@@ -2751,7 +2733,7 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
String source = f->get_as_utf8_string();
GDScriptParser parser;
- err = parser.parse(source, p_path, false);
+ err = parser.parse(source, p_path, false, false);
const GDScriptParser::ClassNode *c = parser.get_tree();
if (!c) {
diff --git a/modules/gdscript/gdscript.h b/modules/gdscript/gdscript.h
index 728459de44..d097cb193b 100644
--- a/modules/gdscript/gdscript.h
+++ b/modules/gdscript/gdscript.h
@@ -169,9 +169,7 @@ private:
GDScriptFunction *static_initializer = nullptr;
Error _static_init();
-#ifdef TOOLS_ENABLED
void _static_default_init(); // Initialize static variables with default values based on their types.
-#endif
int subclass_count = 0;
RBSet<Object *> instances;
diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp
index aa26bb222d..a6b4bce000 100644
--- a/modules/gdscript/gdscript_analyzer.cpp
+++ b/modules/gdscript/gdscript_analyzer.cpp
@@ -2663,6 +2663,44 @@ void GDScriptAnalyzer::reduce_assignment(GDScriptParser::AssignmentNode *p_assig
reduce_expression(p_assignment->assignee);
+#ifdef DEBUG_ENABLED
+ {
+ bool is_subscript = false;
+ GDScriptParser::ExpressionNode *base = p_assignment->assignee;
+ while (base && base->type == GDScriptParser::Node::SUBSCRIPT) {
+ is_subscript = true;
+ base = static_cast<GDScriptParser::SubscriptNode *>(base)->base;
+ }
+ if (base && base->type == GDScriptParser::Node::IDENTIFIER) {
+ GDScriptParser::IdentifierNode *id = static_cast<GDScriptParser::IdentifierNode *>(base);
+ if (current_lambda && current_lambda->captures_indices.has(id->name)) {
+ bool need_warn = false;
+ if (is_subscript) {
+ const GDScriptParser::DataType &id_type = id->datatype;
+ if (id_type.is_hard_type()) {
+ switch (id_type.kind) {
+ case GDScriptParser::DataType::BUILTIN:
+ // TODO: Change `Variant::is_type_shared()` to include packed arrays?
+ need_warn = !Variant::is_type_shared(id_type.builtin_type) && id_type.builtin_type < Variant::PACKED_BYTE_ARRAY;
+ break;
+ case GDScriptParser::DataType::ENUM:
+ need_warn = true;
+ break;
+ default:
+ break;
+ }
+ }
+ } else {
+ need_warn = true;
+ }
+ if (need_warn) {
+ parser->push_warning(p_assignment, GDScriptWarning::CONFUSABLE_CAPTURE_REASSIGNMENT, id->name);
+ }
+ }
+ }
+ }
+#endif
+
if (p_assignment->assigned_value == nullptr || p_assignment->assignee == nullptr) {
return;
}
@@ -4299,7 +4337,8 @@ void GDScriptAnalyzer::reduce_preload(GDScriptParser::PreloadNode *p_preload) {
// Must load GDScript separately to permit cyclic references
// as ResourceLoader::load() detects and rejects those.
- if (ResourceLoader::get_resource_type(p_preload->resolved_path) == "GDScript") {
+ const String &res_type = ResourceLoader::get_resource_type(p_preload->resolved_path);
+ if (res_type == "GDScript") {
Error err = OK;
Ref<GDScript> res = GDScriptCache::get_shallow_script(p_preload->resolved_path, err, parser->script_path);
p_preload->resource = res;
@@ -4307,7 +4346,11 @@ void GDScriptAnalyzer::reduce_preload(GDScriptParser::PreloadNode *p_preload) {
push_error(vformat(R"(Could not preload resource script "%s".)", p_preload->resolved_path), p_preload->path);
}
} else {
- p_preload->resource = ResourceLoader::load(p_preload->resolved_path);
+ Error err = OK;
+ p_preload->resource = ResourceLoader::load(p_preload->resolved_path, res_type, ResourceFormatLoader::CACHE_MODE_REUSE, &err);
+ if (err == ERR_BUSY) {
+ p_preload->resource = ResourceLoader::ensure_resource_ref_override_for_outer_load(p_preload->resolved_path, res_type);
+ }
if (p_preload->resource.is_null()) {
push_error(vformat(R"(Could not preload resource file "%s".)", p_preload->resolved_path), p_preload->path);
}
@@ -5527,6 +5570,9 @@ bool GDScriptAnalyzer::check_type_compatibility(const GDScriptParser::DataType &
// A script type cannot be a subtype of a GDScript class.
return false;
}
+ if (p_source.script_type.is_null()) {
+ return false;
+ }
if (p_source.is_meta_type) {
src_native = p_source.script_type->get_class_name();
} else {
diff --git a/modules/gdscript/gdscript_cache.cpp b/modules/gdscript/gdscript_cache.cpp
index ac6f5f05c6..7c9fba799d 100644
--- a/modules/gdscript/gdscript_cache.cpp
+++ b/modules/gdscript/gdscript_cache.cpp
@@ -42,6 +42,10 @@ GDScriptParserRef::Status GDScriptParserRef::get_status() const {
return status;
}
+String GDScriptParserRef::get_path() const {
+ return path;
+}
+
uint32_t GDScriptParserRef::get_source_hash() const {
return source_hash;
}
@@ -91,12 +95,8 @@ Error GDScriptParserRef::raise_status(Status p_new_status) {
result = get_analyzer()->resolve_interface();
} break;
case INTERFACE_SOLVED: {
- status = BODY_SOLVED;
- result = get_analyzer()->resolve_body();
- } break;
- case BODY_SOLVED: {
status = FULLY_SOLVED;
- result = get_analyzer()->resolve_dependencies();
+ result = get_analyzer()->resolve_body();
} break;
case FULLY_SOLVED: {
return result;
@@ -135,9 +135,7 @@ void GDScriptParserRef::clear() {
GDScriptParserRef::~GDScriptParserRef() {
clear();
-
- MutexLock lock(GDScriptCache::singleton->mutex);
- GDScriptCache::singleton->parser_map.erase(path);
+ GDScriptCache::remove_parser(path);
}
GDScriptCache *GDScriptCache::singleton = nullptr;
@@ -158,6 +156,11 @@ void GDScriptCache::move_script(const String &p_from, const String &p_to) {
}
singleton->parser_map.erase(p_from);
+ if (singleton->parser_inverse_dependencies.has(p_from) && !p_from.is_empty()) {
+ singleton->parser_inverse_dependencies[p_to] = singleton->parser_inverse_dependencies[p_from];
+ }
+ singleton->parser_inverse_dependencies.erase(p_from);
+
if (singleton->shallow_gdscript_cache.has(p_from) && !p_from.is_empty()) {
singleton->shallow_gdscript_cache[p_to] = singleton->shallow_gdscript_cache[p_from];
}
@@ -181,13 +184,11 @@ void GDScriptCache::remove_script(const String &p_path) {
}
if (singleton->parser_map.has(p_path)) {
- // Keep a local reference until it goes out of scope.
- // Clearing it can trigger a reference to itself to go out of scope, destructing it before clear finishes.
- Ref<GDScriptParserRef> parser_ref = singleton->parser_map[p_path];
- singleton->parser_map.erase(p_path);
- parser_ref->clear();
+ singleton->parser_map[p_path]->clear();
}
+ remove_parser(p_path);
+
singleton->dependencies.erase(p_path);
singleton->shallow_gdscript_cache.erase(p_path);
singleton->full_gdscript_cache.erase(p_path);
@@ -198,6 +199,7 @@ Ref<GDScriptParserRef> GDScriptCache::get_parser(const String &p_path, GDScriptP
Ref<GDScriptParserRef> ref;
if (!p_owner.is_empty()) {
singleton->dependencies[p_owner].insert(p_path);
+ singleton->parser_inverse_dependencies[p_path].insert(p_owner);
}
if (singleton->parser_map.has(p_path)) {
ref = Ref<GDScriptParserRef>(singleton->parser_map[p_path]);
@@ -229,6 +231,13 @@ void GDScriptCache::remove_parser(const String &p_path) {
MutexLock lock(singleton->mutex);
// Can't clear the parser because some other parser might be currently using it in the chain of calls.
singleton->parser_map.erase(p_path);
+
+ // Have to copy while iterating, because parser_inverse_dependencies is modified.
+ HashSet<String> ideps = singleton->parser_inverse_dependencies[p_path];
+ singleton->parser_inverse_dependencies.erase(p_path);
+ for (String idep_path : ideps) {
+ remove_parser(idep_path);
+ }
}
String GDScriptCache::get_source_code(const String &p_path) {
@@ -344,7 +353,11 @@ Ref<GDScript> GDScriptCache::get_full_script(const String &p_path, Error &r_erro
}
}
+ // Allowing lifting the lock might cause a script to be reloaded multiple times,
+ // which, as a last resort deadlock prevention strategy, is a good tradeoff.
+ uint32_t allowance_id = WorkerThreadPool::thread_enter_unlock_allowance_zone(&singleton->mutex);
r_error = script->reload(true);
+ WorkerThreadPool::thread_exit_unlock_allowance_zone(allowance_id);
if (r_error) {
return script;
}
@@ -417,6 +430,8 @@ void GDScriptCache::clear() {
}
singleton->cleared = true;
+ singleton->parser_inverse_dependencies.clear();
+
RBSet<Ref<GDScriptParserRef>> parser_map_refs;
for (KeyValue<String, GDScriptParserRef *> &E : singleton->parser_map) {
parser_map_refs.insert(E.value);
diff --git a/modules/gdscript/gdscript_cache.h b/modules/gdscript/gdscript_cache.h
index c738233beb..c927317e19 100644
--- a/modules/gdscript/gdscript_cache.h
+++ b/modules/gdscript/gdscript_cache.h
@@ -48,7 +48,6 @@ public:
PARSED,
INHERITANCE_SOLVED,
INTERFACE_SOLVED,
- BODY_SOLVED,
FULLY_SOLVED,
};
@@ -66,6 +65,7 @@ private:
public:
Status get_status() const;
+ String get_path() const;
uint32_t get_source_hash() const;
GDScriptParser *get_parser();
GDScriptAnalyzer *get_analyzer();
@@ -83,6 +83,7 @@ class GDScriptCache {
HashMap<String, Ref<GDScript>> full_gdscript_cache;
HashMap<String, Ref<GDScript>> static_gdscript_cache;
HashMap<String, HashSet<String>> dependencies;
+ HashMap<String, HashSet<String>> parser_inverse_dependencies;
friend class GDScript;
friend class GDScriptParserRef;
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp
index eeffc13a10..5469dad3f7 100644
--- a/modules/gdscript/gdscript_compiler.cpp
+++ b/modules/gdscript/gdscript_compiler.cpp
@@ -3006,6 +3006,8 @@ Error GDScriptCompiler::_compile_class(GDScript *p_script, const GDScriptParser:
has_static_data = has_static_data || inner_class->has_static_data;
}
+ p_script->_static_default_init();
+
p_script->valid = true;
return OK;
}
@@ -3228,11 +3230,7 @@ Error GDScriptCompiler::compile(const GDScriptParser *p_parser, GDScript *p_scri
GDScriptCache::add_static_script(p_script);
}
- err = GDScriptCache::finish_compiling(main_script->path);
- if (err) {
- main_script->valid = false;
- }
- return err;
+ return GDScriptCache::finish_compiling(main_script->path);
}
String GDScriptCompiler::get_error() const {
diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp
index fcabb7c4a8..f557727718 100644
--- a/modules/gdscript/gdscript_editor.cpp
+++ b/modules/gdscript/gdscript_editor.cpp
@@ -2787,9 +2787,9 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
if (opt.is_quoted()) {
opt = opt.unquote().quote(quote_style);
if (use_string_names && info.arguments.get(p_argidx).type == Variant::STRING_NAME) {
- opt = opt.indent("&");
+ opt = "&" + opt;
} else if (use_node_paths && info.arguments.get(p_argidx).type == Variant::NODE_PATH) {
- opt = opt.indent("^");
+ opt = "^" + opt;
}
}
ScriptLanguage::CodeCompletionOption option(opt, ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION);
@@ -2824,7 +2824,11 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
if (E.usage & (PROPERTY_USAGE_SUBGROUP | PROPERTY_USAGE_GROUP | PROPERTY_USAGE_CATEGORY | PROPERTY_USAGE_INTERNAL)) {
continue;
}
- ScriptLanguage::CodeCompletionOption option(E.name.quote(quote_style), ScriptLanguage::CODE_COMPLETION_KIND_MEMBER, ScriptLanguage::CodeCompletionLocation::LOCATION_LOCAL + n);
+ String name = E.name.quote(quote_style);
+ if (use_node_paths) {
+ name = "^" + name;
+ }
+ ScriptLanguage::CodeCompletionOption option(name, ScriptLanguage::CODE_COMPLETION_KIND_MEMBER, ScriptLanguage::CodeCompletionLocation::LOCATION_LOCAL + n);
r_result.insert(option.display, option);
}
script = script->get_base_script();
@@ -2838,7 +2842,11 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
while (clss) {
for (GDScriptParser::ClassNode::Member member : clss->members) {
if (member.type == GDScriptParser::ClassNode::Member::VARIABLE) {
- ScriptLanguage::CodeCompletionOption option(member.get_name().quote(quote_style), ScriptLanguage::CODE_COMPLETION_KIND_MEMBER, ScriptLanguage::CodeCompletionLocation::LOCATION_LOCAL + n);
+ String name = member.get_name().quote(quote_style);
+ if (use_node_paths) {
+ name = "^" + name;
+ }
+ ScriptLanguage::CodeCompletionOption option(name, ScriptLanguage::CODE_COMPLETION_KIND_MEMBER, ScriptLanguage::CodeCompletionLocation::LOCATION_LOCAL + n);
r_result.insert(option.display, option);
}
}
@@ -2861,7 +2869,11 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
if (E.usage & (PROPERTY_USAGE_SUBGROUP | PROPERTY_USAGE_GROUP | PROPERTY_USAGE_CATEGORY | PROPERTY_USAGE_INTERNAL)) {
continue;
}
- ScriptLanguage::CodeCompletionOption option(E.name.quote(quote_style), ScriptLanguage::CODE_COMPLETION_KIND_MEMBER);
+ String name = E.name.quote(quote_style);
+ if (use_node_paths) {
+ name = "^" + name;
+ }
+ ScriptLanguage::CodeCompletionOption option(name, ScriptLanguage::CODE_COMPLETION_KIND_MEMBER);
r_result.insert(option.display, option);
}
}
@@ -2877,8 +2889,11 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
continue;
}
String name = s.get_slice("/", 1);
- ScriptLanguage::CodeCompletionOption option("/root/" + name, ScriptLanguage::CODE_COMPLETION_KIND_NODE_PATH);
- option.insert_text = option.display.quote(quote_style);
+ String path = ("/root/" + name).quote(quote_style);
+ if (use_node_paths) {
+ path = "^" + path;
+ }
+ ScriptLanguage::CodeCompletionOption option(path, ScriptLanguage::CODE_COMPLETION_KIND_NODE_PATH);
r_result.insert(option.display, option);
}
}
@@ -2892,9 +2907,11 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
if (!s.begins_with("input/")) {
continue;
}
- String name = s.get_slice("/", 1);
+ String name = s.get_slice("/", 1).quote(quote_style);
+ if (use_string_names) {
+ name = "&" + name;
+ }
ScriptLanguage::CodeCompletionOption option(name, ScriptLanguage::CODE_COMPLETION_KIND_CONSTANT);
- option.insert_text = option.display.quote(quote_style);
r_result.insert(option.display, option);
}
}
@@ -3640,11 +3657,21 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co
return OK;
}
- StringName enum_name = ClassDB::get_integer_constant_enum(class_name, p_symbol, true);
- if (enum_name != StringName()) {
- r_result.type = ScriptLanguage::LOOKUP_RESULT_CLASS_ENUM;
+ List<StringName> enums;
+ ClassDB::get_enum_list(class_name, &enums);
+ for (const StringName &E : enums) {
+ if (E == p_symbol) {
+ r_result.type = ScriptLanguage::LOOKUP_RESULT_CLASS_ENUM;
+ r_result.class_name = base_type.native_type;
+ r_result.class_member = p_symbol;
+ return OK;
+ }
+ }
+
+ if (!String(ClassDB::get_integer_constant_enum(class_name, p_symbol, true)).is_empty()) {
+ r_result.type = ScriptLanguage::LOOKUP_RESULT_CLASS_CONSTANT;
r_result.class_name = base_type.native_type;
- r_result.class_member = enum_name;
+ r_result.class_member = p_symbol;
return OK;
}
@@ -3718,6 +3745,15 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co
return OK;
}
} break;
+ case GDScriptParser::DataType::ENUM: {
+ if (base_type.enum_values.has(p_symbol)) {
+ r_result.type = ScriptLanguage::LOOKUP_RESULT_CLASS_CONSTANT;
+ r_result.class_name = String(base_type.native_type).get_slicec('.', 0);
+ r_result.class_member = p_symbol;
+ return OK;
+ }
+ base_type.kind = GDScriptParser::DataType::UNRESOLVED;
+ } break;
default: {
base_type.kind = GDScriptParser::DataType::UNRESOLVED;
} break;
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp
index f1a35c84b7..a1ea94667d 100644
--- a/modules/gdscript/gdscript_parser.cpp
+++ b/modules/gdscript/gdscript_parser.cpp
@@ -137,11 +137,22 @@ GDScriptParser::GDScriptParser() {
#endif
#ifdef TOOLS_ENABLED
- if (theme_color_names.is_empty()) {
+ if (unlikely(theme_color_names.is_empty())) {
+ // Vectors.
theme_color_names.insert("x", "axis_x_color");
theme_color_names.insert("y", "axis_y_color");
theme_color_names.insert("z", "axis_z_color");
theme_color_names.insert("w", "axis_w_color");
+
+ // Color.
+ theme_color_names.insert("r", "axis_x_color");
+ theme_color_names.insert("r8", "axis_x_color");
+ theme_color_names.insert("g", "axis_y_color");
+ theme_color_names.insert("g8", "axis_y_color");
+ theme_color_names.insert("b", "axis_z_color");
+ theme_color_names.insert("b8", "axis_z_color");
+ theme_color_names.insert("a", "axis_w_color");
+ theme_color_names.insert("a8", "axis_w_color");
}
#endif
}
@@ -298,13 +309,14 @@ void GDScriptParser::set_last_completion_call_arg(int p_argument) {
completion_call_stack.back()->get().argument = p_argument;
}
-Error GDScriptParser::parse(const String &p_source_code, const String &p_script_path, bool p_for_completion) {
+Error GDScriptParser::parse(const String &p_source_code, const String &p_script_path, bool p_for_completion, bool p_parse_body) {
clear();
String source = p_source_code;
int cursor_line = -1;
int cursor_column = -1;
for_completion = p_for_completion;
+ parse_body = p_parse_body;
int tab_size = 4;
#ifdef TOOLS_ENABLED
@@ -678,6 +690,12 @@ void GDScriptParser::parse_program() {
}
}
+ // When the only thing needed is the class name and the icon, we don't need to parse the hole file.
+ // It really speed up the call to GDScriptLanguage::get_global_class_name especially for large script.
+ if (!parse_body) {
+ return;
+ }
+
#undef PUSH_PENDING_ANNOTATIONS_TO_HEAD
parse_class_body(true);
@@ -4160,6 +4178,64 @@ static String _get_annotation_error_string(const StringName &p_annotation_name,
return vformat(R"("%s" annotation requires a variable of type %s, but type "%s" was given instead.)", p_annotation_name, string, p_provided_type.to_string());
}
+static StringName _find_narrowest_native_or_global_class(const GDScriptParser::DataType &p_type) {
+ switch (p_type.kind) {
+ case GDScriptParser::DataType::NATIVE: {
+ if (p_type.is_meta_type) {
+ return Object::get_class_static(); // `GDScriptNativeClass` is not an exposed class.
+ }
+ return p_type.native_type;
+ } break;
+ case GDScriptParser::DataType::SCRIPT: {
+ Ref<Script> script;
+ if (p_type.script_type.is_valid()) {
+ script = p_type.script_type;
+ } else {
+ script = ResourceLoader::load(p_type.script_path, SNAME("Script"));
+ }
+
+ if (p_type.is_meta_type) {
+ return script.is_valid() ? script->get_class() : Script::get_class_static();
+ }
+ if (script.is_null()) {
+ return p_type.native_type;
+ }
+ if (script->get_global_name() != StringName()) {
+ return script->get_global_name();
+ }
+
+ Ref<Script> base_script = script->get_base_script();
+ if (base_script.is_null()) {
+ return script->get_instance_base_type();
+ }
+
+ GDScriptParser::DataType base_type;
+ base_type.kind = GDScriptParser::DataType::SCRIPT;
+ base_type.builtin_type = Variant::OBJECT;
+ base_type.native_type = base_script->get_instance_base_type();
+ base_type.script_type = base_script;
+ base_type.script_path = base_script->get_path();
+
+ return _find_narrowest_native_or_global_class(base_type);
+ } break;
+ case GDScriptParser::DataType::CLASS: {
+ if (p_type.is_meta_type) {
+ return GDScript::get_class_static();
+ }
+ if (p_type.class_type == nullptr) {
+ return p_type.native_type;
+ }
+ if (p_type.class_type->get_global_name() != StringName()) {
+ return p_type.class_type->get_global_name();
+ }
+ return _find_narrowest_native_or_global_class(p_type.class_type->base_type);
+ } break;
+ default: {
+ ERR_FAIL_V(StringName());
+ } break;
+ }
+}
+
template <PropertyHint t_hint, Variant::Type t_type>
bool GDScriptParser::export_annotations(const AnnotationNode *p_annotation, Node *p_target, ClassNode *p_class) {
ERR_FAIL_COND_V_MSG(p_target->type != Node::VARIABLE, false, vformat(R"("%s" annotation can only be applied to variables.)", p_annotation->name));
@@ -4302,57 +4378,9 @@ bool GDScriptParser::export_annotations(const AnnotationNode *p_annotation, Node
variable->export_info.hint_string = String();
break;
case GDScriptParser::DataType::NATIVE:
- if (ClassDB::is_parent_class(export_type.native_type, SNAME("Resource"))) {
- variable->export_info.type = Variant::OBJECT;
- variable->export_info.hint = PROPERTY_HINT_RESOURCE_TYPE;
- variable->export_info.hint_string = export_type.native_type;
- } else if (ClassDB::is_parent_class(export_type.native_type, SNAME("Node"))) {
- variable->export_info.type = Variant::OBJECT;
- variable->export_info.hint = PROPERTY_HINT_NODE_TYPE;
- variable->export_info.hint_string = export_type.native_type;
- } else {
- push_error(R"(Export type can only be built-in, a resource, a node, or an enum.)", p_annotation);
- return false;
- }
- break;
+ case GDScriptParser::DataType::SCRIPT:
case GDScriptParser::DataType::CLASS: {
- StringName class_name;
- if (export_type.class_type) {
- class_name = export_type.class_type->get_global_name();
- }
- if (class_name == StringName()) {
- push_error(R"(Script export type must be a global class.)", p_annotation);
- return false;
- }
- if (ClassDB::is_parent_class(export_type.native_type, SNAME("Resource"))) {
- variable->export_info.type = Variant::OBJECT;
- variable->export_info.hint = PROPERTY_HINT_RESOURCE_TYPE;
- variable->export_info.hint_string = class_name;
- } else if (ClassDB::is_parent_class(export_type.native_type, SNAME("Node"))) {
- variable->export_info.type = Variant::OBJECT;
- variable->export_info.hint = PROPERTY_HINT_NODE_TYPE;
- variable->export_info.hint_string = class_name;
- } else {
- push_error(R"(Export type can only be built-in, a resource, a node, or an enum.)", p_annotation);
- return false;
- }
- } break;
-
- case GDScriptParser::DataType::SCRIPT: {
- StringName class_name;
- if (export_type.script_type.is_valid()) {
- class_name = export_type.script_type->get_global_name();
- }
- if (class_name == StringName()) {
- Ref<Script> script = ResourceLoader::load(export_type.script_path, SNAME("Script"));
- if (script.is_valid()) {
- class_name = script->get_global_name();
- }
- }
- if (class_name == StringName()) {
- push_error(R"(Script export type must be a global class.)", p_annotation);
- return false;
- }
+ const StringName class_name = _find_narrowest_native_or_global_class(export_type);
if (ClassDB::is_parent_class(export_type.native_type, SNAME("Resource"))) {
variable->export_info.type = Variant::OBJECT;
variable->export_info.hint = PROPERTY_HINT_RESOURCE_TYPE;
diff --git a/modules/gdscript/gdscript_parser.h b/modules/gdscript/gdscript_parser.h
index 96358165c0..21942222cf 100644
--- a/modules/gdscript/gdscript_parser.h
+++ b/modules/gdscript/gdscript_parser.h
@@ -1329,6 +1329,7 @@ private:
bool _is_tool = false;
String script_path;
bool for_completion = false;
+ bool parse_body = true;
bool panic_mode = false;
bool can_break = false;
bool can_continue = false;
@@ -1560,7 +1561,7 @@ private:
#endif // TOOLS_ENABLED
public:
- Error parse(const String &p_source_code, const String &p_script_path, bool p_for_completion);
+ Error parse(const String &p_source_code, const String &p_script_path, bool p_for_completion, bool p_parse_body = true);
Error parse_binary(const Vector<uint8_t> &p_binary, const String &p_script_path);
ClassNode *get_tree() const { return head; }
bool is_tool() const { return _is_tool; }
diff --git a/modules/gdscript/gdscript_warning.cpp b/modules/gdscript/gdscript_warning.cpp
index 611a9ad2d9..e8fb1d94b3 100644
--- a/modules/gdscript/gdscript_warning.cpp
+++ b/modules/gdscript/gdscript_warning.cpp
@@ -145,6 +145,9 @@ String GDScriptWarning::get_message() const {
case CONFUSABLE_LOCAL_USAGE:
CHECK_SYMBOLS(1);
return vformat(R"(The identifier "%s" will be shadowed below in the block.)", symbols[0]);
+ case CONFUSABLE_CAPTURE_REASSIGNMENT:
+ CHECK_SYMBOLS(1);
+ return vformat(R"(Reassigning lambda capture does not modify the outer local variable "%s".)", symbols[0]);
case INFERENCE_ON_VARIANT:
CHECK_SYMBOLS(1);
return vformat("The %s type is being inferred from a Variant value, so it will be typed as Variant.", symbols[0]);
@@ -231,6 +234,7 @@ String GDScriptWarning::get_name_from_code(Code p_code) {
"CONFUSABLE_IDENTIFIER",
"CONFUSABLE_LOCAL_DECLARATION",
"CONFUSABLE_LOCAL_USAGE",
+ "CONFUSABLE_CAPTURE_REASSIGNMENT",
"INFERENCE_ON_VARIANT",
"NATIVE_METHOD_OVERRIDE",
"GET_NODE_DEFAULT_WITHOUT_ONREADY",
diff --git a/modules/gdscript/gdscript_warning.h b/modules/gdscript/gdscript_warning.h
index 3ad9488138..1c806bb4e2 100644
--- a/modules/gdscript/gdscript_warning.h
+++ b/modules/gdscript/gdscript_warning.h
@@ -85,6 +85,7 @@ public:
CONFUSABLE_IDENTIFIER, // The identifier contains misleading characters that can be confused. E.g. "usеr" (has Cyrillic "е" instead of Latin "e").
CONFUSABLE_LOCAL_DECLARATION, // The parent block declares an identifier with the same name below.
CONFUSABLE_LOCAL_USAGE, // The identifier will be shadowed below in the block.
+ CONFUSABLE_CAPTURE_REASSIGNMENT, // Reassigning lambda capture does not modify the outer local variable.
INFERENCE_ON_VARIANT, // The declaration uses type inference but the value is typed as Variant.
NATIVE_METHOD_OVERRIDE, // The script method overrides a native one, this may not work as intended.
GET_NODE_DEFAULT_WITHOUT_ONREADY, // A class variable uses `get_node()` (or the `$` notation) as its default value, but does not use the @onready annotation.
@@ -137,6 +138,7 @@ public:
WARN, // CONFUSABLE_IDENTIFIER
WARN, // CONFUSABLE_LOCAL_DECLARATION
WARN, // CONFUSABLE_LOCAL_USAGE
+ WARN, // CONFUSABLE_CAPTURE_REASSIGNMENT
ERROR, // INFERENCE_ON_VARIANT // Most likely done by accident, usually inference is trying for a particular type.
ERROR, // NATIVE_METHOD_OVERRIDE // May not work as expected.
ERROR, // GET_NODE_DEFAULT_WITHOUT_ONREADY // May not work as expected.
diff --git a/modules/gdscript/icons/GDScript.svg b/modules/gdscript/icons/GDScript.svg
index 2671c007f3..e44adf60dc 100644
--- a/modules/gdscript/icons/GDScript.svg
+++ b/modules/gdscript/icons/GDScript.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m7 1-.565 2.258a5 5 0 0 0-.689.28L3.758 2.343 2.344 3.758l1.195 1.994a5 5 0 0 0-.285.685L1 7v2l2.258.564a5 5 0 0 0 .279.688l-1.193 1.99 1.414 1.414 1.994-1.195a5 5 0 0 0 .685.285L7 15h2l.564-2.258a5 5 0 0 0 .688-.28l1.99 1.194 1.414-1.414-1.195-1.994a5 5 0 0 0 .285-.685L15 9V7l-2.258-.564a5 5 0 0 0-.28-.688l1.194-1.99-1.414-1.414-1.994 1.195a5 5 0 0 0-.686-.285L9 1H7zm1 5a2 2 0 0 1 0 4 2 2 0 0 1 0-4z" fill="#e0e0e0"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="m7 1-.565 2.258a5 5 0 0 0-.689.28L3.758 2.343 2.344 3.758l1.195 1.994a5 5 0 0 0-.285.685L1 7v2l2.258.564a5 5 0 0 0 .279.688l-1.193 1.99 1.414 1.414 1.994-1.195a5 5 0 0 0 .685.285L7 15h2l.564-2.258a5 5 0 0 0 .688-.28l1.99 1.194 1.414-1.414-1.195-1.994a5 5 0 0 0 .285-.685L15 9V7l-2.258-.564a5 5 0 0 0-.28-.688l1.194-1.99-1.414-1.414-1.994 1.195a5 5 0 0 0-.686-.285L9 1H7zm1 5a2 2 0 0 1 0 4 2 2 0 0 1 0-4z"/></svg> \ No newline at end of file
diff --git a/modules/gdscript/icons/GDScriptInternal.svg b/modules/gdscript/icons/GDScriptInternal.svg
index 81a59a7387..57471729cd 100644
--- a/modules/gdscript/icons/GDScriptInternal.svg
+++ b/modules/gdscript/icons/GDScriptInternal.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m7 1-.565 2.258a5 5 0 0 0-.689.28L3.758 2.343 2.344 3.758l1.195 1.994a5 5 0 0 0-.285.685L1 7v2l2.258.564a5 5 0 0 0 .279.688l-1.193 1.99 1.414 1.414 1.994-1.195a5 5 0 0 0 .685.285L7 15h2l.564-2.258a5 5 0 0 0 .688-.28l1.99 1.194 1.414-1.414-1.195-1.994a5 5 0 0 0 .285-.685L15 9V7l-2.258-.564a5 5 0 0 0-.28-.688l1.194-1.99-1.414-1.414-1.994 1.195a5 5 0 0 0-.686-.285L9 1H7zm1 5a2 2 0 0 1 0 4 2 2 0 0 1 0-4z" fill="none" stroke="#e0e0e0"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#e0e0e0" d="m7 1-.565 2.258a5 5 0 0 0-.689.28L3.758 2.343 2.344 3.758l1.195 1.994a5 5 0 0 0-.285.685L1 7v2l2.258.564a5 5 0 0 0 .279.688l-1.193 1.99 1.414 1.414 1.994-1.195a5 5 0 0 0 .685.285L7 15h2l.564-2.258a5 5 0 0 0 .688-.28l1.99 1.194 1.414-1.414-1.195-1.994a5 5 0 0 0 .285-.685L15 9V7l-2.258-.564a5 5 0 0 0-.28-.688l1.194-1.99-1.414-1.414-1.994 1.195a5 5 0 0 0-.686-.285L9 1H7zm1 5a2 2 0 0 1 0 4 2 2 0 0 1 0-4z"/></svg> \ No newline at end of file
diff --git a/modules/gdscript/tests/README.md b/modules/gdscript/tests/README.md
index 714e38397f..4dc706f8d1 100644
--- a/modules/gdscript/tests/README.md
+++ b/modules/gdscript/tests/README.md
@@ -25,6 +25,8 @@ The config file contains two section:
- `cs: boolean = false`: If `true`, the test will be skipped when running a non C# build.
- `use_single_quotes: boolean = false`: Configures the corresponding editor setting for the test.
+- `add_node_path_literals: boolean = false`: Configures the corresponding editor setting for the test.
+- `add_string_name_literals: boolean = false`: Configures the corresponding editor setting for the test.
- `scene: String`: Allows to specify a scene which is opened while autocompletion is performed. If this is not set the test runner will search for a `.tscn` file with the same basename as the GDScript file. If that isn't found either, autocompletion will behave as if no scene was opened.
- `node_path: String`: The node path of the node which holds the current script inside of the scene. Defaults to the scene root node.
diff --git a/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd b/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd
new file mode 100644
index 0000000000..9e1041db54
--- /dev/null
+++ b/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd
@@ -0,0 +1,23 @@
+var member := 1
+
+func test():
+ var number := 1
+ var string := "1"
+ var vector := Vector2i(1, 0)
+ var array_assign := [1]
+ var array_index := [1]
+ var dictionary := { x = 0 }
+
+ var lambda := func ():
+ member = 2 # Member variable, not captured.
+ number = 2 # Local variable, captured.
+ string += "2" # Test compound assignment operator.
+ vector.x = 2 # Test subscript assignment.
+ array_assign = [2] # Pass-by-reference type, reassignment.
+ array_index[0] = 2 # Pass-by-reference type, index access.
+ dictionary.x = 2 # Pass-by-reference type, attribute access.
+
+ prints("lambda", member, number, string, vector, array_assign, array_index, dictionary)
+
+ lambda.call()
+ prints("outer", member, number, string, vector, array_assign, array_index, dictionary)
diff --git a/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.out b/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.out
new file mode 100644
index 0000000000..8d953818eb
--- /dev/null
+++ b/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.out
@@ -0,0 +1,19 @@
+GDTEST_OK
+>> WARNING
+>> Line: 13
+>> CONFUSABLE_CAPTURE_REASSIGNMENT
+>> Reassigning lambda capture does not modify the outer local variable "number".
+>> WARNING
+>> Line: 14
+>> CONFUSABLE_CAPTURE_REASSIGNMENT
+>> Reassigning lambda capture does not modify the outer local variable "string".
+>> WARNING
+>> Line: 15
+>> CONFUSABLE_CAPTURE_REASSIGNMENT
+>> Reassigning lambda capture does not modify the outer local variable "vector".
+>> WARNING
+>> Line: 16
+>> CONFUSABLE_CAPTURE_REASSIGNMENT
+>> Reassigning lambda capture does not modify the outer local variable "array_assign".
+lambda 2 2 12 (2, 0) [2] [2] { "x": 2 }
+outer 2 1 1 (1, 0) [1] [2] { "x": 2 }
diff --git a/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_node_path_tween.cfg b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_node_path_tween.cfg
new file mode 100644
index 0000000000..a8f26d83f9
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_node_path_tween.cfg
@@ -0,0 +1,11 @@
+[input]
+add_node_path_literals=true
+[output]
+include=[
+ {"insert_text": "^\"property_of_a\""},
+ {"insert_text": "^\"name\""},
+]
+exclude=[
+ {"insert_text": "\"property_of_a\""},
+ {"insert_text": "\"name\""},
+]
diff --git a/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_node_path_tween.gd b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_node_path_tween.gd
new file mode 100644
index 0000000000..bfdb5c7995
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_node_path_tween.gd
@@ -0,0 +1,8 @@
+extends Node
+
+const A = preload("res://completion/class_a.notest.gd")
+
+func _ready() -> void:
+ var a := A.new()
+ var tween := get_tree().create_tween()
+ tween.tween_property(a, ➡)
diff --git a/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_string_name_input_event.cfg b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_string_name_input_event.cfg
new file mode 100644
index 0000000000..309fa8ed38
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_string_name_input_event.cfg
@@ -0,0 +1,9 @@
+[input]
+add_string_name_literals=true
+[output]
+include=[
+ {"insert_text": "&\"test_input_action\""},
+]
+exclude=[
+ {"insert_text": "\"test_input_action\""},
+]
diff --git a/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_string_name_input_event.gd b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_string_name_input_event.gd
new file mode 100644
index 0000000000..9b325e632d
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/add_string_name_input_event.gd
@@ -0,0 +1,3 @@
+func _input(event: InputEvent) -> void:
+ event.is_action_pressed(➡)
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_node_path_tween.cfg b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_node_path_tween.cfg
new file mode 100644
index 0000000000..45d0ad0f3b
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_node_path_tween.cfg
@@ -0,0 +1,11 @@
+[input]
+add_node_path_literals=false
+[output]
+include=[
+ {"insert_text": "\"property_of_a\""},
+ {"insert_text": "\"name\""},
+]
+exclude=[
+ {"insert_text": "^\"property_of_a\""},
+ {"insert_text": "^\"name\""},
+]
diff --git a/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_node_path_tween.gd b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_node_path_tween.gd
new file mode 100644
index 0000000000..bfdb5c7995
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_node_path_tween.gd
@@ -0,0 +1,8 @@
+extends Node
+
+const A = preload("res://completion/class_a.notest.gd")
+
+func _ready() -> void:
+ var a := A.new()
+ var tween := get_tree().create_tween()
+ tween.tween_property(a, ➡)
diff --git a/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_string_name_input_event.cfg b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_string_name_input_event.cfg
new file mode 100644
index 0000000000..7a388d54e1
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_string_name_input_event.cfg
@@ -0,0 +1,9 @@
+[input]
+add_string_name_literals=false
+[output]
+include=[
+ {"insert_text": "\"test_input_action\""},
+]
+exclude=[
+ {"insert_text": "&\"test_input_action\""},
+]
diff --git a/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_string_name_input_event.gd b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_string_name_input_event.gd
new file mode 100644
index 0000000000..9b325e632d
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/argument_options/string_literals/dont_add_string_name_input_event.gd
@@ -0,0 +1,3 @@
+func _input(event: InputEvent) -> void:
+ event.is_action_pressed(➡)
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/common/identifiers.cfg b/modules/gdscript/tests/scripts/completion/common/identifiers.cfg
new file mode 100644
index 0000000000..871a404e3a
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/common/identifiers.cfg
@@ -0,0 +1,21 @@
+scene="res://completion/get_node/get_node.tscn"
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+
+ ; GDScript: self.gd
+ {"display": "test_signal_1"},
+ {"display": "test_signal_2"},
+ {"display": "test_var_1"},
+ {"display": "test_var_2"},
+ {"display": "test_func_1"},
+ {"display": "test_func_2"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/common/identifiers.gd b/modules/gdscript/tests/scripts/completion/common/identifiers.gd
new file mode 100644
index 0000000000..efbafbee8e
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/common/identifiers.gd
@@ -0,0 +1,16 @@
+extends "res://completion/class_a.notest.gd"
+
+signal test_signal_1(a)
+signal test_signal_2(a: int)
+
+var test_var_1
+var test_var_2: int
+
+func test_func_1(t):
+ pass
+
+func test_func_2(t: int) -> void:
+ pass
+
+func _init():
+ t➡
diff --git a/modules/gdscript/tests/scripts/completion/common/self.cfg b/modules/gdscript/tests/scripts/completion/common/self.cfg
new file mode 100644
index 0000000000..871a404e3a
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/common/self.cfg
@@ -0,0 +1,21 @@
+scene="res://completion/get_node/get_node.tscn"
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+
+ ; GDScript: self.gd
+ {"display": "test_signal_1"},
+ {"display": "test_signal_2"},
+ {"display": "test_var_1"},
+ {"display": "test_var_2"},
+ {"display": "test_func_1"},
+ {"display": "test_func_2"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/common/self.gd b/modules/gdscript/tests/scripts/completion/common/self.gd
new file mode 100644
index 0000000000..9ad2fbea51
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/common/self.gd
@@ -0,0 +1,16 @@
+extends "res://completion/class_a.notest.gd"
+
+signal test_signal_1(a)
+signal test_signal_2(a: int)
+
+var test_var_1
+var test_var_2: int
+
+func test_func_1(t):
+ pass
+
+func test_func_2(t: int) -> void:
+ pass
+
+func _init():
+ self.➡
diff --git a/modules/gdscript/tests/scripts/completion/filter/organized_export.cfg b/modules/gdscript/tests/scripts/completion/filter/organized_export.cfg
new file mode 100644
index 0000000000..961a9ea58d
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/filter/organized_export.cfg
@@ -0,0 +1,6 @@
+[output]
+exclude=[
+ {"display": "Test Category"},
+ {"display": "Test Group"},
+ {"display": "Test Subgroup"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/filter/organized_export.gd b/modules/gdscript/tests/scripts/completion/filter/organized_export.gd
new file mode 100644
index 0000000000..189608904c
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/filter/organized_export.gd
@@ -0,0 +1,8 @@
+extends CPUParticles2D
+
+@export_category("Test Category")
+@export_group("Test Group")
+@export_subgroup("Test Subgroup")
+
+func _init():
+ ➡
diff --git a/modules/gdscript/tests/scripts/completion/filter/usage_internal.cfg b/modules/gdscript/tests/scripts/completion/filter/usage_internal.cfg
new file mode 100644
index 0000000000..8c5bff5eac
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/filter/usage_internal.cfg
@@ -0,0 +1,4 @@
+[output]
+exclude=[
+ {"display": "messages"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/filter/usage_internal.gd b/modules/gdscript/tests/scripts/completion/filter/usage_internal.gd
new file mode 100644
index 0000000000..484c1c0d10
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/filter/usage_internal.gd
@@ -0,0 +1,3 @@
+func test():
+ var trans = Translation.new()
+ trans.➡
diff --git a/modules/gdscript/tests/scripts/completion/types/local/interfered.cfg b/modules/gdscript/tests/scripts/completion/types/local/interfered.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/interfered.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/local/interfered.gd b/modules/gdscript/tests/scripts/completion/types/local/interfered.gd
new file mode 100644
index 0000000000..f003c366a4
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/interfered.gd
@@ -0,0 +1,8 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+func a():
+ var test := A.new()
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/local/no_type.cfg b/modules/gdscript/tests/scripts/completion/types/local/no_type.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/no_type.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/local/no_type.gd b/modules/gdscript/tests/scripts/completion/types/local/no_type.gd
new file mode 100644
index 0000000000..f6b5ae3aef
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/no_type.gd
@@ -0,0 +1,8 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+func a():
+ var test = A.new()
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/local/typehint.cfg b/modules/gdscript/tests/scripts/completion/types/local/typehint.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/typehint.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/local/typehint.gd b/modules/gdscript/tests/scripts/completion/types/local/typehint.gd
new file mode 100644
index 0000000000..24bcfc04fc
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/typehint.gd
@@ -0,0 +1,8 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+func a():
+ var test: A
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/local/typehint_broad.cfg b/modules/gdscript/tests/scripts/completion/types/local/typehint_broad.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/typehint_broad.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/local/typehint_broad.gd b/modules/gdscript/tests/scripts/completion/types/local/typehint_broad.gd
new file mode 100644
index 0000000000..88b4812c30
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/typehint_broad.gd
@@ -0,0 +1,8 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+func a():
+ var test: Node = A.new()
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.cfg b/modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.gd b/modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.gd
new file mode 100644
index 0000000000..8e226546f3
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.gd
@@ -0,0 +1,8 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+func a():
+ var test: A = Node.new()
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/member/interfered.cfg b/modules/gdscript/tests/scripts/completion/types/member/interfered.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/interfered.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/member/interfered.gd b/modules/gdscript/tests/scripts/completion/types/member/interfered.gd
new file mode 100644
index 0000000000..069abd7891
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/interfered.gd
@@ -0,0 +1,9 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+var test := A.new()
+
+func a():
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/member/no_type.cfg b/modules/gdscript/tests/scripts/completion/types/member/no_type.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/no_type.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/member/no_type.gd b/modules/gdscript/tests/scripts/completion/types/member/no_type.gd
new file mode 100644
index 0000000000..9bb9549e97
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/no_type.gd
@@ -0,0 +1,9 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+var test = A.new()
+
+func a():
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/member/typehint.cfg b/modules/gdscript/tests/scripts/completion/types/member/typehint.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/typehint.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/member/typehint.gd b/modules/gdscript/tests/scripts/completion/types/member/typehint.gd
new file mode 100644
index 0000000000..7763a2e898
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/typehint.gd
@@ -0,0 +1,9 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+var test: A
+
+func a():
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/member/typehint_broad.cfg b/modules/gdscript/tests/scripts/completion/types/member/typehint_broad.cfg
new file mode 100644
index 0000000000..81401316ec
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/typehint_broad.cfg
@@ -0,0 +1,13 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+]
+exclude=[
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/member/typehint_broad.gd b/modules/gdscript/tests/scripts/completion/types/member/typehint_broad.gd
new file mode 100644
index 0000000000..a8506705a1
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/typehint_broad.gd
@@ -0,0 +1,9 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+var test: Node = A.new()
+
+func a():
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.cfg b/modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.cfg
new file mode 100644
index 0000000000..8b68d51a89
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.cfg
@@ -0,0 +1,12 @@
+[output]
+include=[
+ ; Node
+ {"display": "add_child"},
+ {"display": "owner"},
+ {"display": "child_entered_tree"},
+
+ ; GDScript: class_a.notest.gd
+ {"display": "property_of_a"},
+ {"display": "func_of_a"},
+ {"display": "signal_of_a"},
+]
diff --git a/modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.gd b/modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.gd
new file mode 100644
index 0000000000..8b5a80cfb3
--- /dev/null
+++ b/modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.gd
@@ -0,0 +1,9 @@
+extends Node
+
+const A := preload("res://completion/class_a.notest.gd")
+
+var test: A = Node.new()
+
+func a():
+ test.➡
+ pass
diff --git a/modules/gdscript/tests/scripts/parser/features/export_variable.gd b/modules/gdscript/tests/scripts/parser/features/export_variable.gd
index 483e6cab0d..8bcb2bcb9a 100644
--- a/modules/gdscript/tests/scripts/parser/features/export_variable.gd
+++ b/modules/gdscript/tests/scripts/parser/features/export_variable.gd
@@ -2,7 +2,8 @@ class_name ExportVariableTest
extends Node
const Utils = preload("../../utils.notest.gd")
-const PreloadedScript = preload("./export_variable.notest.gd")
+const PreloadedGlobalClass = preload("./export_variable_global.notest.gd")
+const PreloadedUnnamedClass = preload("./export_variable_unnamed.notest.gd")
# Built-in types.
@export var test_weak_int = 1
@@ -24,7 +25,8 @@ const PreloadedScript = preload("./export_variable.notest.gd")
# Global custom classes.
@export var test_global_class: ExportVariableTest
-@export var test_preloaded_script: PreloadedScript
+@export var test_preloaded_global_class: PreloadedGlobalClass
+@export var test_preloaded_unnamed_class: PreloadedUnnamedClass # GH-93168
# Arrays.
@export var test_array: Array
diff --git a/modules/gdscript/tests/scripts/parser/features/export_variable.notest.gd b/modules/gdscript/tests/scripts/parser/features/export_variable.notest.gd
deleted file mode 100644
index 6d064351c1..0000000000
--- a/modules/gdscript/tests/scripts/parser/features/export_variable.notest.gd
+++ /dev/null
@@ -1,2 +0,0 @@
-class_name ExportPreloadedClassTest
-extends Node
diff --git a/modules/gdscript/tests/scripts/parser/features/export_variable.out b/modules/gdscript/tests/scripts/parser/features/export_variable.out
index bb094e14b4..d10462bb8d 100644
--- a/modules/gdscript/tests/scripts/parser/features/export_variable.out
+++ b/modules/gdscript/tests/scripts/parser/features/export_variable.out
@@ -25,8 +25,10 @@ var test_timer: Timer = null
hint=NODE_TYPE hint_string="Timer" usage=DEFAULT|SCRIPT_VARIABLE class_name=&"Timer"
var test_global_class: ExportVariableTest = null
hint=NODE_TYPE hint_string="ExportVariableTest" usage=DEFAULT|SCRIPT_VARIABLE class_name=&"ExportVariableTest"
-var test_preloaded_script: ExportPreloadedClassTest = null
- hint=NODE_TYPE hint_string="ExportPreloadedClassTest" usage=DEFAULT|SCRIPT_VARIABLE class_name=&"ExportPreloadedClassTest"
+var test_preloaded_global_class: ExportVariableTestGlobalClass = null
+ hint=NODE_TYPE hint_string="ExportVariableTestGlobalClass" usage=DEFAULT|SCRIPT_VARIABLE class_name=&"ExportVariableTestGlobalClass"
+var test_preloaded_unnamed_class: Node2D = null
+ hint=NODE_TYPE hint_string="Node2D" usage=DEFAULT|SCRIPT_VARIABLE class_name=&"Node2D"
var test_array: Array = []
hint=NONE hint_string="" usage=DEFAULT|SCRIPT_VARIABLE class_name=&""
var test_array_bool: Array = Array[bool]([])
diff --git a/modules/gdscript/tests/scripts/parser/features/export_variable_global.notest.gd b/modules/gdscript/tests/scripts/parser/features/export_variable_global.notest.gd
new file mode 100644
index 0000000000..caa2ead214
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/features/export_variable_global.notest.gd
@@ -0,0 +1,2 @@
+class_name ExportVariableTestGlobalClass
+extends Node2D
diff --git a/modules/gdscript/tests/scripts/parser/features/export_variable_unnamed.notest.gd b/modules/gdscript/tests/scripts/parser/features/export_variable_unnamed.notest.gd
new file mode 100644
index 0000000000..e251cf8aee
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/features/export_variable_unnamed.notest.gd
@@ -0,0 +1 @@
+extends Node2D
diff --git a/modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd b/modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd
index 46b6856d22..c3a42288c7 100644
--- a/modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd
+++ b/modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd
@@ -9,6 +9,7 @@ func four_parameters(_a, callable : Callable, b=func(): print(10)):
func test():
var v
+ @warning_ignore("confusable_capture_reassignment")
v=func():v=1
if true: v=1
print(v)
diff --git a/modules/gdscript/tests/scripts/project.godot b/modules/gdscript/tests/scripts/project.godot
index c500ef443d..c9035ecab9 100644
--- a/modules/gdscript/tests/scripts/project.godot
+++ b/modules/gdscript/tests/scripts/project.godot
@@ -8,3 +8,10 @@ config_version=5
[application]
config/name="GDScript Integration Test Suite"
+
+[input]
+
+test_input_action={
+"deadzone": 0.5,
+"events": []
+}
diff --git a/modules/gdscript/tests/test_completion.h b/modules/gdscript/tests/test_completion.h
index 327446acee..387358934d 100644
--- a/modules/gdscript/tests/test_completion.h
+++ b/modules/gdscript/tests/test_completion.h
@@ -130,6 +130,8 @@ static void test_directory(const String &p_dir) {
#endif
EditorSettings::get_singleton()->set_setting("text_editor/completion/use_single_quotes", conf.get_value("input", "use_single_quotes", false));
+ EditorSettings::get_singleton()->set_setting("text_editor/completion/add_node_path_literals", conf.get_value("input", "add_node_path_literals", false));
+ EditorSettings::get_singleton()->set_setting("text_editor/completion/add_string_name_literals", conf.get_value("input", "add_string_name_literals", false));
List<Dictionary> include;
to_dict_list(conf.get_value("output", "include", Array()), include);
diff --git a/modules/glslang/register_types.cpp b/modules/glslang/register_types.cpp
index 09ad1d6777..b5f70fb98b 100644
--- a/modules/glslang/register_types.cpp
+++ b/modules/glslang/register_types.cpp
@@ -33,7 +33,6 @@
#include "core/config/engine.h"
#include "servers/rendering/rendering_device.h"
-#include <glslang/Include/Types.h>
#include <glslang/Public/ResourceLimits.h>
#include <glslang/Public/ShaderLang.h>
#include <glslang/SPIRV/GlslangToSpv.h>
diff --git a/modules/gltf/editor/editor_scene_importer_blend.cpp b/modules/gltf/editor/editor_scene_importer_blend.cpp
index 822e11ea4b..79a2184745 100644
--- a/modules/gltf/editor/editor_scene_importer_blend.cpp
+++ b/modules/gltf/editor/editor_scene_importer_blend.cpp
@@ -395,10 +395,10 @@ void EditorFileSystemImportFormatSupportQueryBlend::_validate_path(String p_path
path_status->set_text(error);
if (success) {
- path_status->add_theme_color_override("font_color", path_status->get_theme_color(SNAME("success_color"), EditorStringName(Editor)));
+ path_status->add_theme_color_override(SceneStringName(font_color), path_status->get_theme_color(SNAME("success_color"), EditorStringName(Editor)));
configure_blender_dialog->get_ok_button()->set_disabled(false);
} else {
- path_status->add_theme_color_override("font_color", path_status->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
+ path_status->add_theme_color_override(SceneStringName(font_color), path_status->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
configure_blender_dialog->get_ok_button()->set_disabled(true);
}
}
@@ -510,14 +510,14 @@ bool EditorFileSystemImportFormatSupportQueryBlend::query() {
configure_blender_dialog->add_child(vb);
- blender_path->connect("text_changed", callable_mp(this, &EditorFileSystemImportFormatSupportQueryBlend::_validate_path));
+ blender_path->connect(SceneStringName(text_changed), callable_mp(this, &EditorFileSystemImportFormatSupportQueryBlend::_validate_path));
EditorNode::get_singleton()->get_gui_base()->add_child(configure_blender_dialog);
configure_blender_dialog->set_ok_button_text(TTR("Confirm Path"));
configure_blender_dialog->set_cancel_button_text(TTR("Disable '.blend' Import"));
configure_blender_dialog->get_cancel_button()->set_tooltip_text(TTR("Disables Blender '.blend' files import for this project. Can be re-enabled in Project Settings."));
- configure_blender_dialog->connect("confirmed", callable_mp(this, &EditorFileSystemImportFormatSupportQueryBlend::_path_confirmed));
+ configure_blender_dialog->connect(SceneStringName(confirmed), callable_mp(this, &EditorFileSystemImportFormatSupportQueryBlend::_path_confirmed));
browse_dialog = memnew(EditorFileDialog);
browse_dialog->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
diff --git a/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp b/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp
index 1e64a6daa4..07faee3dfc 100644
--- a/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp
+++ b/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.cpp
@@ -37,6 +37,15 @@
void GLTFDocumentExtensionConvertImporterMesh::_bind_methods() {
}
+void GLTFDocumentExtensionConvertImporterMesh::_copy_meta(Object *p_src_object, Object *p_dst_object) {
+ List<StringName> meta_list;
+ p_src_object->get_meta_list(&meta_list);
+ for (const StringName &meta_key : meta_list) {
+ Variant meta_value = p_src_object->get_meta(meta_key);
+ p_dst_object->set_meta(meta_key, meta_value);
+ }
+}
+
Error GLTFDocumentExtensionConvertImporterMesh::import_post(Ref<GLTFState> p_state, Node *p_root) {
ERR_FAIL_NULL_V(p_root, ERR_INVALID_PARAMETER);
ERR_FAIL_NULL_V(p_state, ERR_INVALID_PARAMETER);
@@ -58,6 +67,8 @@ Error GLTFDocumentExtensionConvertImporterMesh::import_post(Ref<GLTFState> p_sta
mesh_instance_node_3d->set_skin(mesh_3d->get_skin());
mesh_instance_node_3d->set_skeleton_path(mesh_3d->get_skeleton_path());
node->replace_by(mesh_instance_node_3d);
+ _copy_meta(mesh_3d, mesh_instance_node_3d);
+ _copy_meta(mesh.ptr(), array_mesh.ptr());
delete_queue.push_back(node);
node = mesh_instance_node_3d;
} else {
diff --git a/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.h b/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.h
index 1147c2af38..ca10444eb5 100644
--- a/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.h
+++ b/modules/gltf/extensions/gltf_document_extension_convert_importer_mesh.h
@@ -38,6 +38,7 @@ class GLTFDocumentExtensionConvertImporterMesh : public GLTFDocumentExtension {
protected:
static void _bind_methods();
+ static void _copy_meta(Object *p_src_object, Object *p_dst_object);
public:
Error import_post(Ref<GLTFState> p_state, Node *p_root) override;
diff --git a/modules/gltf/gltf_document.cpp b/modules/gltf/gltf_document.cpp
index 32fe37d9af..e0bdd4cf33 100644
--- a/modules/gltf/gltf_document.cpp
+++ b/modules/gltf/gltf_document.cpp
@@ -5785,15 +5785,17 @@ struct SceneFormatImporterGLTFInterpolate {
return 0.5f * ((2.0f * p1) + (-p0 + p2) * t + (2.0f * p0 - 5.0f * p1 + 4.0f * p2 - p3) * t2 + (-p0 + 3.0f * p1 - 3.0f * p2 + p3) * t3);
}
- T bezier(T start, T control_1, T control_2, T end, float t) {
- /* Formula from Wikipedia article on Bezier curves. */
- const real_t omt = (1.0 - t);
- const real_t omt2 = omt * omt;
- const real_t omt3 = omt2 * omt;
+ T hermite(T start, T tan_start, T end, T tan_end, float t) {
+ /* Formula from the glTF 2.0 specification. */
const real_t t2 = t * t;
const real_t t3 = t2 * t;
- return start * omt3 + control_1 * omt2 * t * 3.0 + control_2 * omt * t2 * 3.0 + end * t3;
+ const real_t h00 = 2.0 * t3 - 3.0 * t2 + 1.0;
+ const real_t h10 = t3 - 2.0 * t2 + t;
+ const real_t h01 = -2.0 * t3 + 3.0 * t2;
+ const real_t h11 = t3 - t2;
+
+ return start * h00 + tan_start * h10 + end * h01 + tan_end * h11;
}
};
@@ -5814,7 +5816,7 @@ struct SceneFormatImporterGLTFInterpolate<Quaternion> {
return p1.slerp(p2, c).normalized();
}
- Quaternion bezier(const Quaternion start, const Quaternion control_1, const Quaternion control_2, const Quaternion end, const float t) {
+ Quaternion hermite(const Quaternion start, const Quaternion tan_start, const Quaternion end, const Quaternion tan_end, const float t) {
ERR_FAIL_COND_V_MSG(!start.is_normalized(), Quaternion(), vformat("The start quaternion %s must be normalized.", start));
ERR_FAIL_COND_V_MSG(!end.is_normalized(), Quaternion(), vformat("The end quaternion %s must be normalized.", end));
@@ -5879,14 +5881,15 @@ T GLTFDocument::_interpolate_track(const Vector<real_t> &p_times, const Vector<T
return p_values[(p_times.size() - 1) * 3 + 1];
}
- const float c = (p_time - p_times[idx]) / (p_times[idx + 1] - p_times[idx]);
+ const float td = (p_times[idx + 1] - p_times[idx]);
+ const float c = (p_time - p_times[idx]) / td;
const T &from = p_values[idx * 3 + 1];
- const T c1 = from + p_values[idx * 3 + 2];
+ const T tan_from = td * p_values[idx * 3 + 2];
const T &to = p_values[idx * 3 + 4];
- const T c2 = to + p_values[idx * 3 + 3];
+ const T tan_to = td * p_values[idx * 3 + 3];
- return interp.bezier(from, c1, c2, to, c);
+ return interp.hermite(from, tan_from, to, tan_to, c);
} break;
}
diff --git a/modules/gridmap/editor/grid_map_editor_plugin.cpp b/modules/gridmap/editor/grid_map_editor_plugin.cpp
index 226cb48eb8..f402e2a583 100644
--- a/modules/gridmap/editor/grid_map_editor_plugin.cpp
+++ b/modules/gridmap/editor/grid_map_editor_plugin.cpp
@@ -59,10 +59,18 @@ void GridMapEditor::_menu_option(int p_option) {
switch (p_option) {
case MENU_OPTION_PREV_LEVEL: {
floor->set_value(floor->get_value() - 1);
+ if (selection.active && input_action == INPUT_SELECT) {
+ selection.current[edit_axis]--;
+ _validate_selection();
+ }
} break;
case MENU_OPTION_NEXT_LEVEL: {
floor->set_value(floor->get_value() + 1);
+ if (selection.active && input_action == INPUT_SELECT) {
+ selection.current[edit_axis]++;
+ _validate_selection();
+ }
} break;
case MENU_OPTION_X_AXIS:
@@ -754,19 +762,6 @@ EditorPlugin::AfterGUIInput GridMapEditor::forward_spatial_input_event(Camera3D
}
}
}
-
- if (k->is_shift_pressed() && selection.active && input_action != INPUT_PASTE) {
- if (k->get_keycode() == (Key)options->get_popup()->get_item_accelerator(options->get_popup()->get_item_index(MENU_OPTION_PREV_LEVEL))) {
- selection.click[edit_axis]--;
- _validate_selection();
- return EditorPlugin::AFTER_GUI_INPUT_STOP;
- }
- if (k->get_keycode() == (Key)options->get_popup()->get_item_accelerator(options->get_popup()->get_item_index(MENU_OPTION_NEXT_LEVEL))) {
- selection.click[edit_axis]++;
- _validate_selection();
- return EditorPlugin::AFTER_GUI_INPUT_STOP;
- }
- }
}
}
@@ -1069,7 +1064,7 @@ void GridMapEditor::_update_theme() {
void GridMapEditor::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
- mesh_library_palette->connect("item_selected", callable_mp(this, &GridMapEditor::_item_selected_cbk));
+ mesh_library_palette->connect(SceneStringName(item_selected), callable_mp(this, &GridMapEditor::_item_selected_cbk));
for (int i = 0; i < 3; i++) {
grid[i] = RS::get_singleton()->mesh_create();
grid_instance[i] = RS::get_singleton()->instance_create2(grid[i], get_tree()->get_root()->get_world_3d()->get_scenario());
@@ -1223,7 +1218,7 @@ GridMapEditor::GridMapEditor() {
floor->get_line_edit()->add_theme_constant_override("minimum_character_width", 16);
spatial_editor_hb->add_child(floor);
- floor->connect("value_changed", callable_mp(this, &GridMapEditor::_floor_changed));
+ floor->connect(SceneStringName(value_changed), callable_mp(this, &GridMapEditor::_floor_changed));
floor->connect(SceneStringName(mouse_exited), callable_mp(this, &GridMapEditor::_floor_mouse_exited));
floor->get_line_edit()->connect(SceneStringName(mouse_exited), callable_mp(this, &GridMapEditor::_floor_mouse_exited));
@@ -1286,7 +1281,7 @@ GridMapEditor::GridMapEditor() {
search_box->set_placeholder(TTR("Filter Meshes"));
search_box->set_clear_button_enabled(true);
hb->add_child(search_box);
- search_box->connect("text_changed", callable_mp(this, &GridMapEditor::_text_changed));
+ search_box->connect(SceneStringName(text_changed), callable_mp(this, &GridMapEditor::_text_changed));
search_box->connect(SceneStringName(gui_input), callable_mp(this, &GridMapEditor::_sbox_input));
mode_thumbnail = memnew(Button);
@@ -1309,7 +1304,7 @@ GridMapEditor::GridMapEditor() {
size_slider->set_max(4.0f);
size_slider->set_step(0.1f);
size_slider->set_value(1.0f);
- size_slider->connect("value_changed", callable_mp(this, &GridMapEditor::_icon_size_changed));
+ size_slider->connect(SceneStringName(value_changed), callable_mp(this, &GridMapEditor::_icon_size_changed));
add_child(size_slider);
EDITOR_DEF("editors/grid_map/preview_size", 64);
diff --git a/modules/gridmap/icons/GridMap.svg b/modules/gridmap/icons/GridMap.svg
index 38e48a2707..eddeadbcac 100644
--- a/modules/gridmap/icons/GridMap.svg
+++ b/modules/gridmap/icons/GridMap.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m8 1-6 3v8l6 3 6-3v-2l-2-1-4 2-2-1v-4l2-1v-2l2-1zm4 2-2 1v2l2 1 2-1v-2z" fill="#fc7f7f"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fc7f7f" d="m8 1-6 3v8l6 3 6-3v-2l-2-1-4 2-2-1v-4l2-1v-2l2-1zm4 2-2 1v2l2 1 2-1v-2z"/></svg> \ No newline at end of file
diff --git a/modules/interactive_music/editor/audio_stream_interactive_editor_plugin.cpp b/modules/interactive_music/editor/audio_stream_interactive_editor_plugin.cpp
index cd3814879a..e29cc753c9 100644
--- a/modules/interactive_music/editor/audio_stream_interactive_editor_plugin.cpp
+++ b/modules/interactive_music/editor/audio_stream_interactive_editor_plugin.cpp
@@ -161,7 +161,7 @@ void AudioStreamInteractiveTransitionEditor::_update_transitions() {
return;
}
int clip_count = audio_stream_interactive->get_clip_count();
- Color font_color = tree->get_theme_color("font_color", "Tree");
+ Color font_color = tree->get_theme_color(SceneStringName(font_color), "Tree");
Color font_color_default = font_color;
font_color_default.a *= 0.5;
Ref<Texture> fade_icons[5] = {
@@ -351,29 +351,29 @@ AudioStreamInteractiveTransitionEditor::AudioStreamInteractiveTransitionEditor()
transition_from->add_item(TTR("Next Bar"), AudioStreamInteractive::TRANSITION_FROM_TIME_NEXT_BAR);
transition_from->add_item(TTR("Clip End"), AudioStreamInteractive::TRANSITION_FROM_TIME_END);
- transition_from->connect("item_selected", callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
+ transition_from->connect(SceneStringName(item_selected), callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
transition_to = memnew(OptionButton);
edit_vb->add_margin_child(TTR("Transition To:"), transition_to);
transition_to->add_item(TTR("Same Position"), AudioStreamInteractive::TRANSITION_TO_TIME_SAME_POSITION);
transition_to->add_item(TTR("Clip Start"), AudioStreamInteractive::TRANSITION_TO_TIME_START);
transition_to->add_item(TTR("Prev Position"), AudioStreamInteractive::TRANSITION_TO_TIME_PREVIOUS_POSITION);
- transition_to->connect("item_selected", callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
+ transition_to->connect(SceneStringName(item_selected), callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
fade_mode = memnew(OptionButton);
edit_vb->add_margin_child(TTR("Fade Mode:"), fade_mode);
- fade_mode->connect("item_selected", callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
+ fade_mode->connect(SceneStringName(item_selected), callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
fade_beats = memnew(SpinBox);
edit_vb->add_margin_child(TTR("Fade Beats:"), fade_beats);
fade_beats->set_max(16);
fade_beats->set_step(0.1);
- fade_beats->connect("value_changed", callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
+ fade_beats->connect(SceneStringName(value_changed), callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
filler_clip = memnew(OptionButton);
edit_vb->add_margin_child(TTR("Filler Clip:"), filler_clip);
filler_clip->set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED);
- filler_clip->connect("item_selected", callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
+ filler_clip->connect(SceneStringName(item_selected), callable_mp(this, &AudioStreamInteractiveTransitionEditor::_edited).unbind(1));
hold_previous = memnew(CheckBox);
hold_previous->set_text(TTR("Enabled"));
diff --git a/modules/mbedtls/tls_context_mbedtls.cpp b/modules/mbedtls/tls_context_mbedtls.cpp
index aab082f488..eaea7b9293 100644
--- a/modules/mbedtls/tls_context_mbedtls.cpp
+++ b/modules/mbedtls/tls_context_mbedtls.cpp
@@ -152,21 +152,23 @@ Error TLSContextMbedTLS::init_client(int p_transport, const String &p_hostname,
ERR_FAIL_COND_V(p_options.is_null() || p_options->is_server(), ERR_INVALID_PARAMETER);
int authmode = MBEDTLS_SSL_VERIFY_REQUIRED;
- if (p_options->get_verify_mode() == TLSOptions::TLS_VERIFY_NONE) {
+ bool unsafe = p_options->is_unsafe_client();
+ if (unsafe && p_options->get_trusted_ca_chain().is_valid()) {
authmode = MBEDTLS_SSL_VERIFY_NONE;
}
Error err = _setup(MBEDTLS_SSL_IS_CLIENT, p_transport, authmode);
ERR_FAIL_COND_V(err != OK, err);
- if (p_options->get_verify_mode() == TLSOptions::TLS_VERIFY_FULL) {
- String cn = p_options->get_common_name();
+ if (unsafe) {
+ // No hostname verification for unsafe clients.
+ mbedtls_ssl_set_hostname(&tls, nullptr);
+ } else {
+ String cn = p_options->get_common_name_override();
if (cn.is_empty()) {
cn = p_hostname;
}
mbedtls_ssl_set_hostname(&tls, cn.utf8().get_data());
- } else {
- mbedtls_ssl_set_hostname(&tls, nullptr);
}
X509CertificateMbedTLS *cas = nullptr;
diff --git a/modules/minimp3/audio_stream_mp3.cpp b/modules/minimp3/audio_stream_mp3.cpp
index a46a1c93b5..5720f844bb 100644
--- a/modules/minimp3/audio_stream_mp3.cpp
+++ b/modules/minimp3/audio_stream_mp3.cpp
@@ -145,6 +145,22 @@ void AudioStreamPlaybackMP3::tag_used_streams() {
mp3_stream->tag_used(get_playback_position());
}
+void AudioStreamPlaybackMP3::set_is_sample(bool p_is_sample) {
+ _is_sample = p_is_sample;
+}
+
+bool AudioStreamPlaybackMP3::get_is_sample() const {
+ return _is_sample;
+}
+
+Ref<AudioSamplePlayback> AudioStreamPlaybackMP3::get_sample_playback() const {
+ return sample_playback;
+}
+
+void AudioStreamPlaybackMP3::set_sample_playback(const Ref<AudioSamplePlayback> &p_playback) {
+ sample_playback = p_playback;
+}
+
void AudioStreamPlaybackMP3::set_parameter(const StringName &p_name, const Variant &p_value) {
if (p_name == SNAME("looping")) {
if (p_value == Variant()) {
@@ -287,6 +303,18 @@ int AudioStreamMP3::get_bar_beats() const {
return bar_beats;
}
+Ref<AudioSample> AudioStreamMP3::generate_sample() const {
+ Ref<AudioSample> sample;
+ sample.instantiate();
+ sample->stream = this;
+ sample->loop_mode = loop
+ ? AudioSample::LoopMode::LOOP_FORWARD
+ : AudioSample::LoopMode::LOOP_DISABLED;
+ sample->loop_begin = loop_offset;
+ sample->loop_end = 0;
+ return sample;
+}
+
void AudioStreamMP3::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_data", "data"), &AudioStreamMP3::set_data);
ClassDB::bind_method(D_METHOD("get_data"), &AudioStreamMP3::get_data);
diff --git a/modules/minimp3/audio_stream_mp3.h b/modules/minimp3/audio_stream_mp3.h
index 7d85e0a321..81e8f8633c 100644
--- a/modules/minimp3/audio_stream_mp3.h
+++ b/modules/minimp3/audio_stream_mp3.h
@@ -58,6 +58,9 @@ class AudioStreamPlaybackMP3 : public AudioStreamPlaybackResampled {
Ref<AudioStreamMP3> mp3_stream;
+ bool _is_sample = false;
+ Ref<AudioSamplePlayback> sample_playback;
+
protected:
virtual int _mix_internal(AudioFrame *p_buffer, int p_frames) override;
virtual float get_stream_sampling_rate() override;
@@ -74,6 +77,11 @@ public:
virtual void tag_used_streams() override;
+ virtual void set_is_sample(bool p_is_sample) override;
+ virtual bool get_is_sample() const override;
+ virtual Ref<AudioSamplePlayback> get_sample_playback() const override;
+ virtual void set_sample_playback(const Ref<AudioSamplePlayback> &p_playback) override;
+
virtual void set_parameter(const StringName &p_name, const Variant &p_value) override;
virtual Variant get_parameter(const StringName &p_name) const override;
@@ -131,6 +139,11 @@ public:
virtual bool is_monophonic() const override;
+ virtual bool can_be_sampled() const override {
+ return true;
+ }
+ virtual Ref<AudioSample> generate_sample() const override;
+
virtual void get_parameter_list(List<Parameter> *r_parameters) override;
AudioStreamMP3();
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AbstractGenericNode(Of T)_ScriptProperties.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AbstractGenericNode(Of T)_ScriptProperties.generated.cs
index a561c5fc0d..024d4b7fbe 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AbstractGenericNode(Of T)_ScriptProperties.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AbstractGenericNode(Of T)_ScriptProperties.generated.cs
@@ -11,14 +11,14 @@ partial class AbstractGenericNode<T>
/// <summary>
/// Cached name for the 'MyArray' property.
/// </summary>
- public new static readonly global::Godot.StringName MyArray = "MyArray";
+ public new static readonly global::Godot.StringName @MyArray = "MyArray";
}
/// <inheritdoc/>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool SetGodotClassPropertyValue(in godot_string_name name, in godot_variant value)
{
- if (name == PropertyName.MyArray) {
- this.MyArray = global::Godot.NativeInterop.VariantUtils.ConvertToArray<T>(value);
+ if (name == PropertyName.@MyArray) {
+ this.@MyArray = global::Godot.NativeInterop.VariantUtils.ConvertToArray<T>(value);
return true;
}
return base.SetGodotClassPropertyValue(name, value);
@@ -27,8 +27,8 @@ partial class AbstractGenericNode<T>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool GetGodotClassPropertyValue(in godot_string_name name, out godot_variant value)
{
- if (name == PropertyName.MyArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFromArray(this.MyArray);
+ if (name == PropertyName.@MyArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFromArray(this.@MyArray);
return true;
}
return base.GetGodotClassPropertyValue(name, out value);
@@ -42,7 +42,7 @@ partial class AbstractGenericNode<T>
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo> GetGodotPropertyList()
{
var properties = new global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo>();
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.MyArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@MyArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
return properties;
}
#pragma warning restore CS0109
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllReadOnly_ScriptProperties.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllReadOnly_ScriptProperties.generated.cs
index 825daffe80..dbcefbbcbd 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllReadOnly_ScriptProperties.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllReadOnly_ScriptProperties.generated.cs
@@ -11,38 +11,38 @@ partial class AllReadOnly
/// <summary>
/// Cached name for the 'ReadOnlyAutoProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName ReadOnlyAutoProperty = "ReadOnlyAutoProperty";
+ public new static readonly global::Godot.StringName @ReadOnlyAutoProperty = "ReadOnlyAutoProperty";
/// <summary>
/// Cached name for the 'ReadOnlyProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName ReadOnlyProperty = "ReadOnlyProperty";
+ public new static readonly global::Godot.StringName @ReadOnlyProperty = "ReadOnlyProperty";
/// <summary>
/// Cached name for the 'InitOnlyAutoProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName InitOnlyAutoProperty = "InitOnlyAutoProperty";
+ public new static readonly global::Godot.StringName @InitOnlyAutoProperty = "InitOnlyAutoProperty";
/// <summary>
/// Cached name for the 'ReadOnlyField' field.
/// </summary>
- public new static readonly global::Godot.StringName ReadOnlyField = "ReadOnlyField";
+ public new static readonly global::Godot.StringName @ReadOnlyField = "ReadOnlyField";
}
/// <inheritdoc/>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool GetGodotClassPropertyValue(in godot_string_name name, out godot_variant value)
{
- if (name == PropertyName.ReadOnlyAutoProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.ReadOnlyAutoProperty);
+ if (name == PropertyName.@ReadOnlyAutoProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@ReadOnlyAutoProperty);
return true;
}
- if (name == PropertyName.ReadOnlyProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.ReadOnlyProperty);
+ if (name == PropertyName.@ReadOnlyProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@ReadOnlyProperty);
return true;
}
- if (name == PropertyName.InitOnlyAutoProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.InitOnlyAutoProperty);
+ if (name == PropertyName.@InitOnlyAutoProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@InitOnlyAutoProperty);
return true;
}
- if (name == PropertyName.ReadOnlyField) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.ReadOnlyField);
+ if (name == PropertyName.@ReadOnlyField) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@ReadOnlyField);
return true;
}
return base.GetGodotClassPropertyValue(name, out value);
@@ -56,10 +56,10 @@ partial class AllReadOnly
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo> GetGodotPropertyList()
{
var properties = new global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo>();
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.ReadOnlyField, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.ReadOnlyAutoProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.ReadOnlyProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.InitOnlyAutoProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@ReadOnlyField, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@ReadOnlyAutoProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@ReadOnlyProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@InitOnlyAutoProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
return properties;
}
#pragma warning restore CS0109
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllWriteOnly_ScriptProperties.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllWriteOnly_ScriptProperties.generated.cs
index 615450efe8..0d559132ac 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllWriteOnly_ScriptProperties.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/AllWriteOnly_ScriptProperties.generated.cs
@@ -11,22 +11,22 @@ partial class AllWriteOnly
/// <summary>
/// Cached name for the 'WriteOnlyProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName WriteOnlyProperty = "WriteOnlyProperty";
+ public new static readonly global::Godot.StringName @WriteOnlyProperty = "WriteOnlyProperty";
/// <summary>
/// Cached name for the '_writeOnlyBackingField' field.
/// </summary>
- public new static readonly global::Godot.StringName _writeOnlyBackingField = "_writeOnlyBackingField";
+ public new static readonly global::Godot.StringName @_writeOnlyBackingField = "_writeOnlyBackingField";
}
/// <inheritdoc/>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool SetGodotClassPropertyValue(in godot_string_name name, in godot_variant value)
{
- if (name == PropertyName.WriteOnlyProperty) {
- this.WriteOnlyProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
+ if (name == PropertyName.@WriteOnlyProperty) {
+ this.@WriteOnlyProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
return true;
}
- if (name == PropertyName._writeOnlyBackingField) {
- this._writeOnlyBackingField = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
+ if (name == PropertyName.@_writeOnlyBackingField) {
+ this.@_writeOnlyBackingField = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
return true;
}
return base.SetGodotClassPropertyValue(name, value);
@@ -35,8 +35,8 @@ partial class AllWriteOnly
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool GetGodotClassPropertyValue(in godot_string_name name, out godot_variant value)
{
- if (name == PropertyName._writeOnlyBackingField) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<bool>(this._writeOnlyBackingField);
+ if (name == PropertyName.@_writeOnlyBackingField) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<bool>(this.@_writeOnlyBackingField);
return true;
}
return base.GetGodotClassPropertyValue(name, out value);
@@ -50,8 +50,8 @@ partial class AllWriteOnly
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo> GetGodotPropertyList()
{
var properties = new global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo>();
- properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName._writeOnlyBackingField, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.WriteOnlyProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.@_writeOnlyBackingField, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.@WriteOnlyProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
return properties;
}
#pragma warning restore CS0109
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/EventSignals_ScriptSignals.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/EventSignals_ScriptSignals.generated.cs
index b1c57e6b26..cc45e5746f 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/EventSignals_ScriptSignals.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/EventSignals_ScriptSignals.generated.cs
@@ -11,7 +11,7 @@ partial class EventSignals
/// <summary>
/// Cached name for the 'MySignal' signal.
/// </summary>
- public new static readonly global::Godot.StringName MySignal = "MySignal";
+ public new static readonly global::Godot.StringName @MySignal = "MySignal";
}
/// <summary>
/// Get the signal information for all the signals declared in this class.
@@ -22,13 +22,13 @@ partial class EventSignals
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.MethodInfo> GetGodotSignalList()
{
var signals = new global::System.Collections.Generic.List<global::Godot.Bridge.MethodInfo>(1);
- signals.Add(new(name: SignalName.MySignal, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)4, name: "str", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), new(type: (global::Godot.Variant.Type)2, name: "num", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
+ signals.Add(new(name: SignalName.@MySignal, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)4, name: "str", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), new(type: (global::Godot.Variant.Type)2, name: "num", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
return signals;
}
#pragma warning restore CS0109
private global::EventSignals.MySignalEventHandler backing_MySignal;
/// <inheritdoc cref="global::EventSignals.MySignalEventHandler"/>
- public event global::EventSignals.MySignalEventHandler MySignal {
+ public event global::EventSignals.MySignalEventHandler @MySignal {
add => backing_MySignal += value;
remove => backing_MySignal -= value;
}
@@ -36,7 +36,7 @@ partial class EventSignals
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override void RaiseGodotClassSignalCallbacks(in godot_string_name signal, NativeVariantPtrArgs args)
{
- if (signal == SignalName.MySignal && args.Count == 2) {
+ if (signal == SignalName.@MySignal && args.Count == 2) {
backing_MySignal?.Invoke(global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(args[0]), global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(args[1]));
return;
}
@@ -46,7 +46,7 @@ partial class EventSignals
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool HasGodotClassSignal(in godot_string_name signal)
{
- if (signal == SignalName.MySignal) {
+ if (signal == SignalName.@MySignal) {
return true;
}
return base.HasGodotClassSignal(signal);
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0106_OK_ScriptPropertyDefVal.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0106_OK_ScriptPropertyDefVal.generated.cs
index f9dc4003e7..8ff51265c1 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0106_OK_ScriptPropertyDefVal.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0106_OK_ScriptPropertyDefVal.generated.cs
@@ -13,7 +13,7 @@ partial class ExportDiagnostics_GD0106_OK
{
var values = new global::System.Collections.Generic.Dictionary<global::Godot.StringName, global::Godot.Variant>(1);
int __MyProperty_default_value = default;
- values.Add(PropertyName.MyProperty, global::Godot.Variant.From<int>(__MyProperty_default_value));
+ values.Add(PropertyName.@MyProperty, global::Godot.Variant.From<int>(__MyProperty_default_value));
return values;
}
#endif // TOOLS
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0107_OK_ScriptPropertyDefVal.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0107_OK_ScriptPropertyDefVal.generated.cs
index 8b823d52c1..217f467637 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0107_OK_ScriptPropertyDefVal.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportDiagnostics_GD0107_OK_ScriptPropertyDefVal.generated.cs
@@ -13,9 +13,9 @@ partial class ExportDiagnostics_GD0107_OK
{
var values = new global::System.Collections.Generic.Dictionary<global::Godot.StringName, global::Godot.Variant>(2);
global::Godot.Node __NodeProperty_default_value = default;
- values.Add(PropertyName.NodeProperty, global::Godot.Variant.From<global::Godot.Node>(__NodeProperty_default_value));
+ values.Add(PropertyName.@NodeProperty, global::Godot.Variant.From<global::Godot.Node>(__NodeProperty_default_value));
global::Godot.Node __NodeField_default_value = default;
- values.Add(PropertyName.NodeField, global::Godot.Variant.From<global::Godot.Node>(__NodeField_default_value));
+ values.Add(PropertyName.@NodeField, global::Godot.Variant.From<global::Godot.Node>(__NodeField_default_value));
return values;
}
#endif // TOOLS
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedComplexStrings_ScriptPropertyDefVal.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedComplexStrings_ScriptPropertyDefVal.generated.cs
index 69e85b4467..2fc0ca50d1 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedComplexStrings_ScriptPropertyDefVal.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedComplexStrings_ScriptPropertyDefVal.generated.cs
@@ -13,15 +13,15 @@ partial class ExportedComplexStrings
{
var values = new global::System.Collections.Generic.Dictionary<global::Godot.StringName, global::Godot.Variant>(5);
string __PropertyInterpolated1_default_value = $"The quick brown fox jumps over {(global::Godot.GD.VarToStr($"the lazy {(global::Godot.Engine.GetVersionInfo())} do"))}g.";
- values.Add(PropertyName.PropertyInterpolated1, global::Godot.Variant.From<string>(__PropertyInterpolated1_default_value));
+ values.Add(PropertyName.@PropertyInterpolated1, global::Godot.Variant.From<string>(__PropertyInterpolated1_default_value));
string ___fieldInterpolated1_default_value = $"The quick brown fox jumps over ({(global::Godot.Engine.GetVersionInfo())})";
- values.Add(PropertyName._fieldInterpolated1, global::Godot.Variant.From<string>(___fieldInterpolated1_default_value));
+ values.Add(PropertyName.@_fieldInterpolated1, global::Godot.Variant.From<string>(___fieldInterpolated1_default_value));
string ___fieldInterpolated2_default_value = $"The quick brown fox jumps over ({(global::Godot.Engine.GetVersionInfo()["major"]),0:G}) the lazy dog.";
- values.Add(PropertyName._fieldInterpolated2, global::Godot.Variant.From<string>(___fieldInterpolated2_default_value));
+ values.Add(PropertyName.@_fieldInterpolated2, global::Godot.Variant.From<string>(___fieldInterpolated2_default_value));
string ___fieldInterpolated3_default_value = $"{(((int)global::Godot.Engine.GetVersionInfo()["major"]) * -1 * -1):G} the lazy dog.";
- values.Add(PropertyName._fieldInterpolated3, global::Godot.Variant.From<string>(___fieldInterpolated3_default_value));
+ values.Add(PropertyName.@_fieldInterpolated3, global::Godot.Variant.From<string>(___fieldInterpolated3_default_value));
string ___fieldInterpolated4_default_value = $"{(":::fff,,}<,<}},,}]")}";
- values.Add(PropertyName._fieldInterpolated4, global::Godot.Variant.From<string>(___fieldInterpolated4_default_value));
+ values.Add(PropertyName.@_fieldInterpolated4, global::Godot.Variant.From<string>(___fieldInterpolated4_default_value));
return values;
}
#endif // TOOLS
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptProperties.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptProperties.generated.cs
index 67ec4fa883..6a3884dabf 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptProperties.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptProperties.generated.cs
@@ -11,486 +11,486 @@ partial class ExportedFields
/// <summary>
/// Cached name for the '_fieldBoolean' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldBoolean = "_fieldBoolean";
+ public new static readonly global::Godot.StringName @_fieldBoolean = "_fieldBoolean";
/// <summary>
/// Cached name for the '_fieldChar' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldChar = "_fieldChar";
+ public new static readonly global::Godot.StringName @_fieldChar = "_fieldChar";
/// <summary>
/// Cached name for the '_fieldSByte' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldSByte = "_fieldSByte";
+ public new static readonly global::Godot.StringName @_fieldSByte = "_fieldSByte";
/// <summary>
/// Cached name for the '_fieldInt16' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldInt16 = "_fieldInt16";
+ public new static readonly global::Godot.StringName @_fieldInt16 = "_fieldInt16";
/// <summary>
/// Cached name for the '_fieldInt32' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldInt32 = "_fieldInt32";
+ public new static readonly global::Godot.StringName @_fieldInt32 = "_fieldInt32";
/// <summary>
/// Cached name for the '_fieldInt64' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldInt64 = "_fieldInt64";
+ public new static readonly global::Godot.StringName @_fieldInt64 = "_fieldInt64";
/// <summary>
/// Cached name for the '_fieldByte' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldByte = "_fieldByte";
+ public new static readonly global::Godot.StringName @_fieldByte = "_fieldByte";
/// <summary>
/// Cached name for the '_fieldUInt16' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldUInt16 = "_fieldUInt16";
+ public new static readonly global::Godot.StringName @_fieldUInt16 = "_fieldUInt16";
/// <summary>
/// Cached name for the '_fieldUInt32' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldUInt32 = "_fieldUInt32";
+ public new static readonly global::Godot.StringName @_fieldUInt32 = "_fieldUInt32";
/// <summary>
/// Cached name for the '_fieldUInt64' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldUInt64 = "_fieldUInt64";
+ public new static readonly global::Godot.StringName @_fieldUInt64 = "_fieldUInt64";
/// <summary>
/// Cached name for the '_fieldSingle' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldSingle = "_fieldSingle";
+ public new static readonly global::Godot.StringName @_fieldSingle = "_fieldSingle";
/// <summary>
/// Cached name for the '_fieldDouble' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldDouble = "_fieldDouble";
+ public new static readonly global::Godot.StringName @_fieldDouble = "_fieldDouble";
/// <summary>
/// Cached name for the '_fieldString' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldString = "_fieldString";
+ public new static readonly global::Godot.StringName @_fieldString = "_fieldString";
/// <summary>
/// Cached name for the '_fieldVector2' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVector2 = "_fieldVector2";
+ public new static readonly global::Godot.StringName @_fieldVector2 = "_fieldVector2";
/// <summary>
/// Cached name for the '_fieldVector2I' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVector2I = "_fieldVector2I";
+ public new static readonly global::Godot.StringName @_fieldVector2I = "_fieldVector2I";
/// <summary>
/// Cached name for the '_fieldRect2' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldRect2 = "_fieldRect2";
+ public new static readonly global::Godot.StringName @_fieldRect2 = "_fieldRect2";
/// <summary>
/// Cached name for the '_fieldRect2I' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldRect2I = "_fieldRect2I";
+ public new static readonly global::Godot.StringName @_fieldRect2I = "_fieldRect2I";
/// <summary>
/// Cached name for the '_fieldTransform2D' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldTransform2D = "_fieldTransform2D";
+ public new static readonly global::Godot.StringName @_fieldTransform2D = "_fieldTransform2D";
/// <summary>
/// Cached name for the '_fieldVector3' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVector3 = "_fieldVector3";
+ public new static readonly global::Godot.StringName @_fieldVector3 = "_fieldVector3";
/// <summary>
/// Cached name for the '_fieldVector3I' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVector3I = "_fieldVector3I";
+ public new static readonly global::Godot.StringName @_fieldVector3I = "_fieldVector3I";
/// <summary>
/// Cached name for the '_fieldBasis' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldBasis = "_fieldBasis";
+ public new static readonly global::Godot.StringName @_fieldBasis = "_fieldBasis";
/// <summary>
/// Cached name for the '_fieldQuaternion' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldQuaternion = "_fieldQuaternion";
+ public new static readonly global::Godot.StringName @_fieldQuaternion = "_fieldQuaternion";
/// <summary>
/// Cached name for the '_fieldTransform3D' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldTransform3D = "_fieldTransform3D";
+ public new static readonly global::Godot.StringName @_fieldTransform3D = "_fieldTransform3D";
/// <summary>
/// Cached name for the '_fieldVector4' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVector4 = "_fieldVector4";
+ public new static readonly global::Godot.StringName @_fieldVector4 = "_fieldVector4";
/// <summary>
/// Cached name for the '_fieldVector4I' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVector4I = "_fieldVector4I";
+ public new static readonly global::Godot.StringName @_fieldVector4I = "_fieldVector4I";
/// <summary>
/// Cached name for the '_fieldProjection' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldProjection = "_fieldProjection";
+ public new static readonly global::Godot.StringName @_fieldProjection = "_fieldProjection";
/// <summary>
/// Cached name for the '_fieldAabb' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldAabb = "_fieldAabb";
+ public new static readonly global::Godot.StringName @_fieldAabb = "_fieldAabb";
/// <summary>
/// Cached name for the '_fieldColor' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldColor = "_fieldColor";
+ public new static readonly global::Godot.StringName @_fieldColor = "_fieldColor";
/// <summary>
/// Cached name for the '_fieldPlane' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldPlane = "_fieldPlane";
+ public new static readonly global::Godot.StringName @_fieldPlane = "_fieldPlane";
/// <summary>
/// Cached name for the '_fieldCallable' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldCallable = "_fieldCallable";
+ public new static readonly global::Godot.StringName @_fieldCallable = "_fieldCallable";
/// <summary>
/// Cached name for the '_fieldSignal' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldSignal = "_fieldSignal";
+ public new static readonly global::Godot.StringName @_fieldSignal = "_fieldSignal";
/// <summary>
/// Cached name for the '_fieldEnum' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldEnum = "_fieldEnum";
+ public new static readonly global::Godot.StringName @_fieldEnum = "_fieldEnum";
/// <summary>
/// Cached name for the '_fieldFlagsEnum' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldFlagsEnum = "_fieldFlagsEnum";
+ public new static readonly global::Godot.StringName @_fieldFlagsEnum = "_fieldFlagsEnum";
/// <summary>
/// Cached name for the '_fieldByteArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldByteArray = "_fieldByteArray";
+ public new static readonly global::Godot.StringName @_fieldByteArray = "_fieldByteArray";
/// <summary>
/// Cached name for the '_fieldInt32Array' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldInt32Array = "_fieldInt32Array";
+ public new static readonly global::Godot.StringName @_fieldInt32Array = "_fieldInt32Array";
/// <summary>
/// Cached name for the '_fieldInt64Array' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldInt64Array = "_fieldInt64Array";
+ public new static readonly global::Godot.StringName @_fieldInt64Array = "_fieldInt64Array";
/// <summary>
/// Cached name for the '_fieldSingleArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldSingleArray = "_fieldSingleArray";
+ public new static readonly global::Godot.StringName @_fieldSingleArray = "_fieldSingleArray";
/// <summary>
/// Cached name for the '_fieldDoubleArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldDoubleArray = "_fieldDoubleArray";
+ public new static readonly global::Godot.StringName @_fieldDoubleArray = "_fieldDoubleArray";
/// <summary>
/// Cached name for the '_fieldStringArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldStringArray = "_fieldStringArray";
+ public new static readonly global::Godot.StringName @_fieldStringArray = "_fieldStringArray";
/// <summary>
/// Cached name for the '_fieldStringArrayEnum' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldStringArrayEnum = "_fieldStringArrayEnum";
+ public new static readonly global::Godot.StringName @_fieldStringArrayEnum = "_fieldStringArrayEnum";
/// <summary>
/// Cached name for the '_fieldVector2Array' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVector2Array = "_fieldVector2Array";
+ public new static readonly global::Godot.StringName @_fieldVector2Array = "_fieldVector2Array";
/// <summary>
/// Cached name for the '_fieldVector3Array' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVector3Array = "_fieldVector3Array";
+ public new static readonly global::Godot.StringName @_fieldVector3Array = "_fieldVector3Array";
/// <summary>
/// Cached name for the '_fieldColorArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldColorArray = "_fieldColorArray";
+ public new static readonly global::Godot.StringName @_fieldColorArray = "_fieldColorArray";
/// <summary>
/// Cached name for the '_fieldGodotObjectOrDerivedArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldGodotObjectOrDerivedArray = "_fieldGodotObjectOrDerivedArray";
+ public new static readonly global::Godot.StringName @_fieldGodotObjectOrDerivedArray = "_fieldGodotObjectOrDerivedArray";
/// <summary>
/// Cached name for the '_fieldStringNameArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldStringNameArray = "_fieldStringNameArray";
+ public new static readonly global::Godot.StringName @_fieldStringNameArray = "_fieldStringNameArray";
/// <summary>
/// Cached name for the '_fieldNodePathArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldNodePathArray = "_fieldNodePathArray";
+ public new static readonly global::Godot.StringName @_fieldNodePathArray = "_fieldNodePathArray";
/// <summary>
/// Cached name for the '_fieldRidArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldRidArray = "_fieldRidArray";
+ public new static readonly global::Godot.StringName @_fieldRidArray = "_fieldRidArray";
/// <summary>
/// Cached name for the '_fieldEmptyInt32Array' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldEmptyInt32Array = "_fieldEmptyInt32Array";
+ public new static readonly global::Godot.StringName @_fieldEmptyInt32Array = "_fieldEmptyInt32Array";
/// <summary>
/// Cached name for the '_fieldArrayFromList' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldArrayFromList = "_fieldArrayFromList";
+ public new static readonly global::Godot.StringName @_fieldArrayFromList = "_fieldArrayFromList";
/// <summary>
/// Cached name for the '_fieldVariant' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldVariant = "_fieldVariant";
+ public new static readonly global::Godot.StringName @_fieldVariant = "_fieldVariant";
/// <summary>
/// Cached name for the '_fieldGodotObjectOrDerived' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldGodotObjectOrDerived = "_fieldGodotObjectOrDerived";
+ public new static readonly global::Godot.StringName @_fieldGodotObjectOrDerived = "_fieldGodotObjectOrDerived";
/// <summary>
/// Cached name for the '_fieldGodotResourceTexture' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldGodotResourceTexture = "_fieldGodotResourceTexture";
+ public new static readonly global::Godot.StringName @_fieldGodotResourceTexture = "_fieldGodotResourceTexture";
/// <summary>
/// Cached name for the '_fieldStringName' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldStringName = "_fieldStringName";
+ public new static readonly global::Godot.StringName @_fieldStringName = "_fieldStringName";
/// <summary>
/// Cached name for the '_fieldNodePath' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldNodePath = "_fieldNodePath";
+ public new static readonly global::Godot.StringName @_fieldNodePath = "_fieldNodePath";
/// <summary>
/// Cached name for the '_fieldRid' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldRid = "_fieldRid";
+ public new static readonly global::Godot.StringName @_fieldRid = "_fieldRid";
/// <summary>
/// Cached name for the '_fieldGodotDictionary' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldGodotDictionary = "_fieldGodotDictionary";
+ public new static readonly global::Godot.StringName @_fieldGodotDictionary = "_fieldGodotDictionary";
/// <summary>
/// Cached name for the '_fieldGodotArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldGodotArray = "_fieldGodotArray";
+ public new static readonly global::Godot.StringName @_fieldGodotArray = "_fieldGodotArray";
/// <summary>
/// Cached name for the '_fieldGodotGenericDictionary' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldGodotGenericDictionary = "_fieldGodotGenericDictionary";
+ public new static readonly global::Godot.StringName @_fieldGodotGenericDictionary = "_fieldGodotGenericDictionary";
/// <summary>
/// Cached name for the '_fieldGodotGenericArray' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldGodotGenericArray = "_fieldGodotGenericArray";
+ public new static readonly global::Godot.StringName @_fieldGodotGenericArray = "_fieldGodotGenericArray";
/// <summary>
/// Cached name for the '_fieldEmptyInt64Array' field.
/// </summary>
- public new static readonly global::Godot.StringName _fieldEmptyInt64Array = "_fieldEmptyInt64Array";
+ public new static readonly global::Godot.StringName @_fieldEmptyInt64Array = "_fieldEmptyInt64Array";
}
/// <inheritdoc/>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool SetGodotClassPropertyValue(in godot_string_name name, in godot_variant value)
{
- if (name == PropertyName._fieldBoolean) {
- this._fieldBoolean = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
+ if (name == PropertyName.@_fieldBoolean) {
+ this.@_fieldBoolean = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
return true;
}
- if (name == PropertyName._fieldChar) {
- this._fieldChar = global::Godot.NativeInterop.VariantUtils.ConvertTo<char>(value);
+ if (name == PropertyName.@_fieldChar) {
+ this.@_fieldChar = global::Godot.NativeInterop.VariantUtils.ConvertTo<char>(value);
return true;
}
- if (name == PropertyName._fieldSByte) {
- this._fieldSByte = global::Godot.NativeInterop.VariantUtils.ConvertTo<sbyte>(value);
+ if (name == PropertyName.@_fieldSByte) {
+ this.@_fieldSByte = global::Godot.NativeInterop.VariantUtils.ConvertTo<sbyte>(value);
return true;
}
- if (name == PropertyName._fieldInt16) {
- this._fieldInt16 = global::Godot.NativeInterop.VariantUtils.ConvertTo<short>(value);
+ if (name == PropertyName.@_fieldInt16) {
+ this.@_fieldInt16 = global::Godot.NativeInterop.VariantUtils.ConvertTo<short>(value);
return true;
}
- if (name == PropertyName._fieldInt32) {
- this._fieldInt32 = global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(value);
+ if (name == PropertyName.@_fieldInt32) {
+ this.@_fieldInt32 = global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(value);
return true;
}
- if (name == PropertyName._fieldInt64) {
- this._fieldInt64 = global::Godot.NativeInterop.VariantUtils.ConvertTo<long>(value);
+ if (name == PropertyName.@_fieldInt64) {
+ this.@_fieldInt64 = global::Godot.NativeInterop.VariantUtils.ConvertTo<long>(value);
return true;
}
- if (name == PropertyName._fieldByte) {
- this._fieldByte = global::Godot.NativeInterop.VariantUtils.ConvertTo<byte>(value);
+ if (name == PropertyName.@_fieldByte) {
+ this.@_fieldByte = global::Godot.NativeInterop.VariantUtils.ConvertTo<byte>(value);
return true;
}
- if (name == PropertyName._fieldUInt16) {
- this._fieldUInt16 = global::Godot.NativeInterop.VariantUtils.ConvertTo<ushort>(value);
+ if (name == PropertyName.@_fieldUInt16) {
+ this.@_fieldUInt16 = global::Godot.NativeInterop.VariantUtils.ConvertTo<ushort>(value);
return true;
}
- if (name == PropertyName._fieldUInt32) {
- this._fieldUInt32 = global::Godot.NativeInterop.VariantUtils.ConvertTo<uint>(value);
+ if (name == PropertyName.@_fieldUInt32) {
+ this.@_fieldUInt32 = global::Godot.NativeInterop.VariantUtils.ConvertTo<uint>(value);
return true;
}
- if (name == PropertyName._fieldUInt64) {
- this._fieldUInt64 = global::Godot.NativeInterop.VariantUtils.ConvertTo<ulong>(value);
+ if (name == PropertyName.@_fieldUInt64) {
+ this.@_fieldUInt64 = global::Godot.NativeInterop.VariantUtils.ConvertTo<ulong>(value);
return true;
}
- if (name == PropertyName._fieldSingle) {
- this._fieldSingle = global::Godot.NativeInterop.VariantUtils.ConvertTo<float>(value);
+ if (name == PropertyName.@_fieldSingle) {
+ this.@_fieldSingle = global::Godot.NativeInterop.VariantUtils.ConvertTo<float>(value);
return true;
}
- if (name == PropertyName._fieldDouble) {
- this._fieldDouble = global::Godot.NativeInterop.VariantUtils.ConvertTo<double>(value);
+ if (name == PropertyName.@_fieldDouble) {
+ this.@_fieldDouble = global::Godot.NativeInterop.VariantUtils.ConvertTo<double>(value);
return true;
}
- if (name == PropertyName._fieldString) {
- this._fieldString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@_fieldString) {
+ this.@_fieldString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName._fieldVector2) {
- this._fieldVector2 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2>(value);
+ if (name == PropertyName.@_fieldVector2) {
+ this.@_fieldVector2 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2>(value);
return true;
}
- if (name == PropertyName._fieldVector2I) {
- this._fieldVector2I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2I>(value);
+ if (name == PropertyName.@_fieldVector2I) {
+ this.@_fieldVector2I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2I>(value);
return true;
}
- if (name == PropertyName._fieldRect2) {
- this._fieldRect2 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rect2>(value);
+ if (name == PropertyName.@_fieldRect2) {
+ this.@_fieldRect2 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rect2>(value);
return true;
}
- if (name == PropertyName._fieldRect2I) {
- this._fieldRect2I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rect2I>(value);
+ if (name == PropertyName.@_fieldRect2I) {
+ this.@_fieldRect2I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rect2I>(value);
return true;
}
- if (name == PropertyName._fieldTransform2D) {
- this._fieldTransform2D = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Transform2D>(value);
+ if (name == PropertyName.@_fieldTransform2D) {
+ this.@_fieldTransform2D = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Transform2D>(value);
return true;
}
- if (name == PropertyName._fieldVector3) {
- this._fieldVector3 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3>(value);
+ if (name == PropertyName.@_fieldVector3) {
+ this.@_fieldVector3 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3>(value);
return true;
}
- if (name == PropertyName._fieldVector3I) {
- this._fieldVector3I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3I>(value);
+ if (name == PropertyName.@_fieldVector3I) {
+ this.@_fieldVector3I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3I>(value);
return true;
}
- if (name == PropertyName._fieldBasis) {
- this._fieldBasis = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Basis>(value);
+ if (name == PropertyName.@_fieldBasis) {
+ this.@_fieldBasis = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Basis>(value);
return true;
}
- if (name == PropertyName._fieldQuaternion) {
- this._fieldQuaternion = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Quaternion>(value);
+ if (name == PropertyName.@_fieldQuaternion) {
+ this.@_fieldQuaternion = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Quaternion>(value);
return true;
}
- if (name == PropertyName._fieldTransform3D) {
- this._fieldTransform3D = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Transform3D>(value);
+ if (name == PropertyName.@_fieldTransform3D) {
+ this.@_fieldTransform3D = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Transform3D>(value);
return true;
}
- if (name == PropertyName._fieldVector4) {
- this._fieldVector4 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector4>(value);
+ if (name == PropertyName.@_fieldVector4) {
+ this.@_fieldVector4 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector4>(value);
return true;
}
- if (name == PropertyName._fieldVector4I) {
- this._fieldVector4I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector4I>(value);
+ if (name == PropertyName.@_fieldVector4I) {
+ this.@_fieldVector4I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector4I>(value);
return true;
}
- if (name == PropertyName._fieldProjection) {
- this._fieldProjection = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Projection>(value);
+ if (name == PropertyName.@_fieldProjection) {
+ this.@_fieldProjection = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Projection>(value);
return true;
}
- if (name == PropertyName._fieldAabb) {
- this._fieldAabb = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Aabb>(value);
+ if (name == PropertyName.@_fieldAabb) {
+ this.@_fieldAabb = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Aabb>(value);
return true;
}
- if (name == PropertyName._fieldColor) {
- this._fieldColor = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Color>(value);
+ if (name == PropertyName.@_fieldColor) {
+ this.@_fieldColor = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Color>(value);
return true;
}
- if (name == PropertyName._fieldPlane) {
- this._fieldPlane = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Plane>(value);
+ if (name == PropertyName.@_fieldPlane) {
+ this.@_fieldPlane = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Plane>(value);
return true;
}
- if (name == PropertyName._fieldCallable) {
- this._fieldCallable = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Callable>(value);
+ if (name == PropertyName.@_fieldCallable) {
+ this.@_fieldCallable = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Callable>(value);
return true;
}
- if (name == PropertyName._fieldSignal) {
- this._fieldSignal = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Signal>(value);
+ if (name == PropertyName.@_fieldSignal) {
+ this.@_fieldSignal = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Signal>(value);
return true;
}
- if (name == PropertyName._fieldEnum) {
- this._fieldEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::ExportedFields.MyEnum>(value);
+ if (name == PropertyName.@_fieldEnum) {
+ this.@_fieldEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::ExportedFields.MyEnum>(value);
return true;
}
- if (name == PropertyName._fieldFlagsEnum) {
- this._fieldFlagsEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::ExportedFields.MyFlagsEnum>(value);
+ if (name == PropertyName.@_fieldFlagsEnum) {
+ this.@_fieldFlagsEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::ExportedFields.MyFlagsEnum>(value);
return true;
}
- if (name == PropertyName._fieldByteArray) {
- this._fieldByteArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<byte[]>(value);
+ if (name == PropertyName.@_fieldByteArray) {
+ this.@_fieldByteArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<byte[]>(value);
return true;
}
- if (name == PropertyName._fieldInt32Array) {
- this._fieldInt32Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<int[]>(value);
+ if (name == PropertyName.@_fieldInt32Array) {
+ this.@_fieldInt32Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<int[]>(value);
return true;
}
- if (name == PropertyName._fieldInt64Array) {
- this._fieldInt64Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<long[]>(value);
+ if (name == PropertyName.@_fieldInt64Array) {
+ this.@_fieldInt64Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<long[]>(value);
return true;
}
- if (name == PropertyName._fieldSingleArray) {
- this._fieldSingleArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<float[]>(value);
+ if (name == PropertyName.@_fieldSingleArray) {
+ this.@_fieldSingleArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<float[]>(value);
return true;
}
- if (name == PropertyName._fieldDoubleArray) {
- this._fieldDoubleArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<double[]>(value);
+ if (name == PropertyName.@_fieldDoubleArray) {
+ this.@_fieldDoubleArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<double[]>(value);
return true;
}
- if (name == PropertyName._fieldStringArray) {
- this._fieldStringArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<string[]>(value);
+ if (name == PropertyName.@_fieldStringArray) {
+ this.@_fieldStringArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<string[]>(value);
return true;
}
- if (name == PropertyName._fieldStringArrayEnum) {
- this._fieldStringArrayEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<string[]>(value);
+ if (name == PropertyName.@_fieldStringArrayEnum) {
+ this.@_fieldStringArrayEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<string[]>(value);
return true;
}
- if (name == PropertyName._fieldVector2Array) {
- this._fieldVector2Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2[]>(value);
+ if (name == PropertyName.@_fieldVector2Array) {
+ this.@_fieldVector2Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2[]>(value);
return true;
}
- if (name == PropertyName._fieldVector3Array) {
- this._fieldVector3Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3[]>(value);
+ if (name == PropertyName.@_fieldVector3Array) {
+ this.@_fieldVector3Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3[]>(value);
return true;
}
- if (name == PropertyName._fieldColorArray) {
- this._fieldColorArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Color[]>(value);
+ if (name == PropertyName.@_fieldColorArray) {
+ this.@_fieldColorArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Color[]>(value);
return true;
}
- if (name == PropertyName._fieldGodotObjectOrDerivedArray) {
- this._fieldGodotObjectOrDerivedArray = global::Godot.NativeInterop.VariantUtils.ConvertToSystemArrayOfGodotObject<global::Godot.GodotObject>(value);
+ if (name == PropertyName.@_fieldGodotObjectOrDerivedArray) {
+ this.@_fieldGodotObjectOrDerivedArray = global::Godot.NativeInterop.VariantUtils.ConvertToSystemArrayOfGodotObject<global::Godot.GodotObject>(value);
return true;
}
- if (name == PropertyName._fieldStringNameArray) {
- this._fieldStringNameArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName[]>(value);
+ if (name == PropertyName.@_fieldStringNameArray) {
+ this.@_fieldStringNameArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName[]>(value);
return true;
}
- if (name == PropertyName._fieldNodePathArray) {
- this._fieldNodePathArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath[]>(value);
+ if (name == PropertyName.@_fieldNodePathArray) {
+ this.@_fieldNodePathArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath[]>(value);
return true;
}
- if (name == PropertyName._fieldRidArray) {
- this._fieldRidArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rid[]>(value);
+ if (name == PropertyName.@_fieldRidArray) {
+ this.@_fieldRidArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rid[]>(value);
return true;
}
- if (name == PropertyName._fieldEmptyInt32Array) {
- this._fieldEmptyInt32Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<int[]>(value);
+ if (name == PropertyName.@_fieldEmptyInt32Array) {
+ this.@_fieldEmptyInt32Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<int[]>(value);
return true;
}
- if (name == PropertyName._fieldArrayFromList) {
- this._fieldArrayFromList = global::Godot.NativeInterop.VariantUtils.ConvertTo<int[]>(value);
+ if (name == PropertyName.@_fieldArrayFromList) {
+ this.@_fieldArrayFromList = global::Godot.NativeInterop.VariantUtils.ConvertTo<int[]>(value);
return true;
}
- if (name == PropertyName._fieldVariant) {
- this._fieldVariant = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Variant>(value);
+ if (name == PropertyName.@_fieldVariant) {
+ this.@_fieldVariant = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Variant>(value);
return true;
}
- if (name == PropertyName._fieldGodotObjectOrDerived) {
- this._fieldGodotObjectOrDerived = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.GodotObject>(value);
+ if (name == PropertyName.@_fieldGodotObjectOrDerived) {
+ this.@_fieldGodotObjectOrDerived = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.GodotObject>(value);
return true;
}
- if (name == PropertyName._fieldGodotResourceTexture) {
- this._fieldGodotResourceTexture = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Texture>(value);
+ if (name == PropertyName.@_fieldGodotResourceTexture) {
+ this.@_fieldGodotResourceTexture = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Texture>(value);
return true;
}
- if (name == PropertyName._fieldStringName) {
- this._fieldStringName = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName>(value);
+ if (name == PropertyName.@_fieldStringName) {
+ this.@_fieldStringName = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName>(value);
return true;
}
- if (name == PropertyName._fieldNodePath) {
- this._fieldNodePath = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath>(value);
+ if (name == PropertyName.@_fieldNodePath) {
+ this.@_fieldNodePath = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath>(value);
return true;
}
- if (name == PropertyName._fieldRid) {
- this._fieldRid = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rid>(value);
+ if (name == PropertyName.@_fieldRid) {
+ this.@_fieldRid = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rid>(value);
return true;
}
- if (name == PropertyName._fieldGodotDictionary) {
- this._fieldGodotDictionary = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Collections.Dictionary>(value);
+ if (name == PropertyName.@_fieldGodotDictionary) {
+ this.@_fieldGodotDictionary = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Collections.Dictionary>(value);
return true;
}
- if (name == PropertyName._fieldGodotArray) {
- this._fieldGodotArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Collections.Array>(value);
+ if (name == PropertyName.@_fieldGodotArray) {
+ this.@_fieldGodotArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Collections.Array>(value);
return true;
}
- if (name == PropertyName._fieldGodotGenericDictionary) {
- this._fieldGodotGenericDictionary = global::Godot.NativeInterop.VariantUtils.ConvertToDictionary<string, bool>(value);
+ if (name == PropertyName.@_fieldGodotGenericDictionary) {
+ this.@_fieldGodotGenericDictionary = global::Godot.NativeInterop.VariantUtils.ConvertToDictionary<string, bool>(value);
return true;
}
- if (name == PropertyName._fieldGodotGenericArray) {
- this._fieldGodotGenericArray = global::Godot.NativeInterop.VariantUtils.ConvertToArray<int>(value);
+ if (name == PropertyName.@_fieldGodotGenericArray) {
+ this.@_fieldGodotGenericArray = global::Godot.NativeInterop.VariantUtils.ConvertToArray<int>(value);
return true;
}
- if (name == PropertyName._fieldEmptyInt64Array) {
- this._fieldEmptyInt64Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<long[]>(value);
+ if (name == PropertyName.@_fieldEmptyInt64Array) {
+ this.@_fieldEmptyInt64Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<long[]>(value);
return true;
}
return base.SetGodotClassPropertyValue(name, value);
@@ -499,244 +499,244 @@ partial class ExportedFields
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool GetGodotClassPropertyValue(in godot_string_name name, out godot_variant value)
{
- if (name == PropertyName._fieldBoolean) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<bool>(this._fieldBoolean);
+ if (name == PropertyName.@_fieldBoolean) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<bool>(this.@_fieldBoolean);
return true;
}
- if (name == PropertyName._fieldChar) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<char>(this._fieldChar);
+ if (name == PropertyName.@_fieldChar) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<char>(this.@_fieldChar);
return true;
}
- if (name == PropertyName._fieldSByte) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<sbyte>(this._fieldSByte);
+ if (name == PropertyName.@_fieldSByte) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<sbyte>(this.@_fieldSByte);
return true;
}
- if (name == PropertyName._fieldInt16) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<short>(this._fieldInt16);
+ if (name == PropertyName.@_fieldInt16) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<short>(this.@_fieldInt16);
return true;
}
- if (name == PropertyName._fieldInt32) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(this._fieldInt32);
+ if (name == PropertyName.@_fieldInt32) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(this.@_fieldInt32);
return true;
}
- if (name == PropertyName._fieldInt64) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long>(this._fieldInt64);
+ if (name == PropertyName.@_fieldInt64) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long>(this.@_fieldInt64);
return true;
}
- if (name == PropertyName._fieldByte) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<byte>(this._fieldByte);
+ if (name == PropertyName.@_fieldByte) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<byte>(this.@_fieldByte);
return true;
}
- if (name == PropertyName._fieldUInt16) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<ushort>(this._fieldUInt16);
+ if (name == PropertyName.@_fieldUInt16) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<ushort>(this.@_fieldUInt16);
return true;
}
- if (name == PropertyName._fieldUInt32) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<uint>(this._fieldUInt32);
+ if (name == PropertyName.@_fieldUInt32) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<uint>(this.@_fieldUInt32);
return true;
}
- if (name == PropertyName._fieldUInt64) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<ulong>(this._fieldUInt64);
+ if (name == PropertyName.@_fieldUInt64) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<ulong>(this.@_fieldUInt64);
return true;
}
- if (name == PropertyName._fieldSingle) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<float>(this._fieldSingle);
+ if (name == PropertyName.@_fieldSingle) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<float>(this.@_fieldSingle);
return true;
}
- if (name == PropertyName._fieldDouble) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<double>(this._fieldDouble);
+ if (name == PropertyName.@_fieldDouble) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<double>(this.@_fieldDouble);
return true;
}
- if (name == PropertyName._fieldString) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this._fieldString);
+ if (name == PropertyName.@_fieldString) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@_fieldString);
return true;
}
- if (name == PropertyName._fieldVector2) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2>(this._fieldVector2);
+ if (name == PropertyName.@_fieldVector2) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2>(this.@_fieldVector2);
return true;
}
- if (name == PropertyName._fieldVector2I) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2I>(this._fieldVector2I);
+ if (name == PropertyName.@_fieldVector2I) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2I>(this.@_fieldVector2I);
return true;
}
- if (name == PropertyName._fieldRect2) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rect2>(this._fieldRect2);
+ if (name == PropertyName.@_fieldRect2) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rect2>(this.@_fieldRect2);
return true;
}
- if (name == PropertyName._fieldRect2I) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rect2I>(this._fieldRect2I);
+ if (name == PropertyName.@_fieldRect2I) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rect2I>(this.@_fieldRect2I);
return true;
}
- if (name == PropertyName._fieldTransform2D) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Transform2D>(this._fieldTransform2D);
+ if (name == PropertyName.@_fieldTransform2D) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Transform2D>(this.@_fieldTransform2D);
return true;
}
- if (name == PropertyName._fieldVector3) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3>(this._fieldVector3);
+ if (name == PropertyName.@_fieldVector3) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3>(this.@_fieldVector3);
return true;
}
- if (name == PropertyName._fieldVector3I) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3I>(this._fieldVector3I);
+ if (name == PropertyName.@_fieldVector3I) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3I>(this.@_fieldVector3I);
return true;
}
- if (name == PropertyName._fieldBasis) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Basis>(this._fieldBasis);
+ if (name == PropertyName.@_fieldBasis) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Basis>(this.@_fieldBasis);
return true;
}
- if (name == PropertyName._fieldQuaternion) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Quaternion>(this._fieldQuaternion);
+ if (name == PropertyName.@_fieldQuaternion) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Quaternion>(this.@_fieldQuaternion);
return true;
}
- if (name == PropertyName._fieldTransform3D) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Transform3D>(this._fieldTransform3D);
+ if (name == PropertyName.@_fieldTransform3D) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Transform3D>(this.@_fieldTransform3D);
return true;
}
- if (name == PropertyName._fieldVector4) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector4>(this._fieldVector4);
+ if (name == PropertyName.@_fieldVector4) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector4>(this.@_fieldVector4);
return true;
}
- if (name == PropertyName._fieldVector4I) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector4I>(this._fieldVector4I);
+ if (name == PropertyName.@_fieldVector4I) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector4I>(this.@_fieldVector4I);
return true;
}
- if (name == PropertyName._fieldProjection) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Projection>(this._fieldProjection);
+ if (name == PropertyName.@_fieldProjection) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Projection>(this.@_fieldProjection);
return true;
}
- if (name == PropertyName._fieldAabb) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Aabb>(this._fieldAabb);
+ if (name == PropertyName.@_fieldAabb) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Aabb>(this.@_fieldAabb);
return true;
}
- if (name == PropertyName._fieldColor) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Color>(this._fieldColor);
+ if (name == PropertyName.@_fieldColor) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Color>(this.@_fieldColor);
return true;
}
- if (name == PropertyName._fieldPlane) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Plane>(this._fieldPlane);
+ if (name == PropertyName.@_fieldPlane) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Plane>(this.@_fieldPlane);
return true;
}
- if (name == PropertyName._fieldCallable) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Callable>(this._fieldCallable);
+ if (name == PropertyName.@_fieldCallable) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Callable>(this.@_fieldCallable);
return true;
}
- if (name == PropertyName._fieldSignal) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Signal>(this._fieldSignal);
+ if (name == PropertyName.@_fieldSignal) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Signal>(this.@_fieldSignal);
return true;
}
- if (name == PropertyName._fieldEnum) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::ExportedFields.MyEnum>(this._fieldEnum);
+ if (name == PropertyName.@_fieldEnum) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::ExportedFields.MyEnum>(this.@_fieldEnum);
return true;
}
- if (name == PropertyName._fieldFlagsEnum) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::ExportedFields.MyFlagsEnum>(this._fieldFlagsEnum);
+ if (name == PropertyName.@_fieldFlagsEnum) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::ExportedFields.MyFlagsEnum>(this.@_fieldFlagsEnum);
return true;
}
- if (name == PropertyName._fieldByteArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<byte[]>(this._fieldByteArray);
+ if (name == PropertyName.@_fieldByteArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<byte[]>(this.@_fieldByteArray);
return true;
}
- if (name == PropertyName._fieldInt32Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int[]>(this._fieldInt32Array);
+ if (name == PropertyName.@_fieldInt32Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int[]>(this.@_fieldInt32Array);
return true;
}
- if (name == PropertyName._fieldInt64Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long[]>(this._fieldInt64Array);
+ if (name == PropertyName.@_fieldInt64Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long[]>(this.@_fieldInt64Array);
return true;
}
- if (name == PropertyName._fieldSingleArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<float[]>(this._fieldSingleArray);
+ if (name == PropertyName.@_fieldSingleArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<float[]>(this.@_fieldSingleArray);
return true;
}
- if (name == PropertyName._fieldDoubleArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<double[]>(this._fieldDoubleArray);
+ if (name == PropertyName.@_fieldDoubleArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<double[]>(this.@_fieldDoubleArray);
return true;
}
- if (name == PropertyName._fieldStringArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string[]>(this._fieldStringArray);
+ if (name == PropertyName.@_fieldStringArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string[]>(this.@_fieldStringArray);
return true;
}
- if (name == PropertyName._fieldStringArrayEnum) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string[]>(this._fieldStringArrayEnum);
+ if (name == PropertyName.@_fieldStringArrayEnum) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string[]>(this.@_fieldStringArrayEnum);
return true;
}
- if (name == PropertyName._fieldVector2Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2[]>(this._fieldVector2Array);
+ if (name == PropertyName.@_fieldVector2Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2[]>(this.@_fieldVector2Array);
return true;
}
- if (name == PropertyName._fieldVector3Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3[]>(this._fieldVector3Array);
+ if (name == PropertyName.@_fieldVector3Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3[]>(this.@_fieldVector3Array);
return true;
}
- if (name == PropertyName._fieldColorArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Color[]>(this._fieldColorArray);
+ if (name == PropertyName.@_fieldColorArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Color[]>(this.@_fieldColorArray);
return true;
}
- if (name == PropertyName._fieldGodotObjectOrDerivedArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFromSystemArrayOfGodotObject(this._fieldGodotObjectOrDerivedArray);
+ if (name == PropertyName.@_fieldGodotObjectOrDerivedArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFromSystemArrayOfGodotObject(this.@_fieldGodotObjectOrDerivedArray);
return true;
}
- if (name == PropertyName._fieldStringNameArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.StringName[]>(this._fieldStringNameArray);
+ if (name == PropertyName.@_fieldStringNameArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.StringName[]>(this.@_fieldStringNameArray);
return true;
}
- if (name == PropertyName._fieldNodePathArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath[]>(this._fieldNodePathArray);
+ if (name == PropertyName.@_fieldNodePathArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath[]>(this.@_fieldNodePathArray);
return true;
}
- if (name == PropertyName._fieldRidArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rid[]>(this._fieldRidArray);
+ if (name == PropertyName.@_fieldRidArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rid[]>(this.@_fieldRidArray);
return true;
}
- if (name == PropertyName._fieldEmptyInt32Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int[]>(this._fieldEmptyInt32Array);
+ if (name == PropertyName.@_fieldEmptyInt32Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int[]>(this.@_fieldEmptyInt32Array);
return true;
}
- if (name == PropertyName._fieldArrayFromList) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int[]>(this._fieldArrayFromList);
+ if (name == PropertyName.@_fieldArrayFromList) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int[]>(this.@_fieldArrayFromList);
return true;
}
- if (name == PropertyName._fieldVariant) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Variant>(this._fieldVariant);
+ if (name == PropertyName.@_fieldVariant) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Variant>(this.@_fieldVariant);
return true;
}
- if (name == PropertyName._fieldGodotObjectOrDerived) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.GodotObject>(this._fieldGodotObjectOrDerived);
+ if (name == PropertyName.@_fieldGodotObjectOrDerived) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.GodotObject>(this.@_fieldGodotObjectOrDerived);
return true;
}
- if (name == PropertyName._fieldGodotResourceTexture) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Texture>(this._fieldGodotResourceTexture);
+ if (name == PropertyName.@_fieldGodotResourceTexture) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Texture>(this.@_fieldGodotResourceTexture);
return true;
}
- if (name == PropertyName._fieldStringName) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.StringName>(this._fieldStringName);
+ if (name == PropertyName.@_fieldStringName) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.StringName>(this.@_fieldStringName);
return true;
}
- if (name == PropertyName._fieldNodePath) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath>(this._fieldNodePath);
+ if (name == PropertyName.@_fieldNodePath) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath>(this.@_fieldNodePath);
return true;
}
- if (name == PropertyName._fieldRid) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rid>(this._fieldRid);
+ if (name == PropertyName.@_fieldRid) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rid>(this.@_fieldRid);
return true;
}
- if (name == PropertyName._fieldGodotDictionary) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Collections.Dictionary>(this._fieldGodotDictionary);
+ if (name == PropertyName.@_fieldGodotDictionary) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Collections.Dictionary>(this.@_fieldGodotDictionary);
return true;
}
- if (name == PropertyName._fieldGodotArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Collections.Array>(this._fieldGodotArray);
+ if (name == PropertyName.@_fieldGodotArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Collections.Array>(this.@_fieldGodotArray);
return true;
}
- if (name == PropertyName._fieldGodotGenericDictionary) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFromDictionary(this._fieldGodotGenericDictionary);
+ if (name == PropertyName.@_fieldGodotGenericDictionary) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFromDictionary(this.@_fieldGodotGenericDictionary);
return true;
}
- if (name == PropertyName._fieldGodotGenericArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFromArray(this._fieldGodotGenericArray);
+ if (name == PropertyName.@_fieldGodotGenericArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFromArray(this.@_fieldGodotGenericArray);
return true;
}
- if (name == PropertyName._fieldEmptyInt64Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long[]>(this._fieldEmptyInt64Array);
+ if (name == PropertyName.@_fieldEmptyInt64Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long[]>(this.@_fieldEmptyInt64Array);
return true;
}
return base.GetGodotClassPropertyValue(name, out value);
@@ -750,66 +750,66 @@ partial class ExportedFields
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo> GetGodotPropertyList()
{
var properties = new global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo>();
- properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName._fieldBoolean, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldChar, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldSByte, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldInt16, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldInt32, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldInt64, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldByte, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldUInt16, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldUInt32, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldUInt64, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)3, name: PropertyName._fieldSingle, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)3, name: PropertyName._fieldDouble, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName._fieldString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)5, name: PropertyName._fieldVector2, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)6, name: PropertyName._fieldVector2I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)7, name: PropertyName._fieldRect2, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)8, name: PropertyName._fieldRect2I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)11, name: PropertyName._fieldTransform2D, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)9, name: PropertyName._fieldVector3, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)10, name: PropertyName._fieldVector3I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)17, name: PropertyName._fieldBasis, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)15, name: PropertyName._fieldQuaternion, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)18, name: PropertyName._fieldTransform3D, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)12, name: PropertyName._fieldVector4, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)13, name: PropertyName._fieldVector4I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)19, name: PropertyName._fieldProjection, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)16, name: PropertyName._fieldAabb, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)20, name: PropertyName._fieldColor, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)14, name: PropertyName._fieldPlane, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)25, name: PropertyName._fieldCallable, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)26, name: PropertyName._fieldSignal, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldEnum, hint: (global::Godot.PropertyHint)2, hintString: "A,B,C", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._fieldFlagsEnum, hint: (global::Godot.PropertyHint)6, hintString: "A:0,B:1,C:2", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)29, name: PropertyName._fieldByteArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)30, name: PropertyName._fieldInt32Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)31, name: PropertyName._fieldInt64Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)32, name: PropertyName._fieldSingleArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)33, name: PropertyName._fieldDoubleArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)34, name: PropertyName._fieldStringArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)34, name: PropertyName._fieldStringArrayEnum, hint: (global::Godot.PropertyHint)23, hintString: "4/2:A,B,C", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)35, name: PropertyName._fieldVector2Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)36, name: PropertyName._fieldVector3Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)37, name: PropertyName._fieldColorArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName._fieldGodotObjectOrDerivedArray, hint: (global::Godot.PropertyHint)23, hintString: "24/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName._fieldStringNameArray, hint: (global::Godot.PropertyHint)23, hintString: "21/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName._fieldNodePathArray, hint: (global::Godot.PropertyHint)23, hintString: "22/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName._fieldRidArray, hint: (global::Godot.PropertyHint)23, hintString: "23/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)30, name: PropertyName._fieldEmptyInt32Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)30, name: PropertyName._fieldArrayFromList, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)0, name: PropertyName._fieldVariant, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)135174, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)24, name: PropertyName._fieldGodotObjectOrDerived, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)24, name: PropertyName._fieldGodotResourceTexture, hint: (global::Godot.PropertyHint)17, hintString: "Texture", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)21, name: PropertyName._fieldStringName, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)22, name: PropertyName._fieldNodePath, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)23, name: PropertyName._fieldRid, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)27, name: PropertyName._fieldGodotDictionary, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName._fieldGodotArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)27, name: PropertyName._fieldGodotGenericDictionary, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName._fieldGodotGenericArray, hint: (global::Godot.PropertyHint)23, hintString: "2/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)31, name: PropertyName._fieldEmptyInt64Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.@_fieldBoolean, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldChar, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldSByte, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldInt16, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldInt32, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldInt64, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldByte, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldUInt16, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldUInt32, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldUInt64, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)3, name: PropertyName.@_fieldSingle, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)3, name: PropertyName.@_fieldDouble, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@_fieldString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)5, name: PropertyName.@_fieldVector2, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)6, name: PropertyName.@_fieldVector2I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)7, name: PropertyName.@_fieldRect2, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)8, name: PropertyName.@_fieldRect2I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)11, name: PropertyName.@_fieldTransform2D, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)9, name: PropertyName.@_fieldVector3, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)10, name: PropertyName.@_fieldVector3I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)17, name: PropertyName.@_fieldBasis, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)15, name: PropertyName.@_fieldQuaternion, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)18, name: PropertyName.@_fieldTransform3D, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)12, name: PropertyName.@_fieldVector4, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)13, name: PropertyName.@_fieldVector4I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)19, name: PropertyName.@_fieldProjection, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)16, name: PropertyName.@_fieldAabb, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)20, name: PropertyName.@_fieldColor, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)14, name: PropertyName.@_fieldPlane, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)25, name: PropertyName.@_fieldCallable, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)26, name: PropertyName.@_fieldSignal, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldEnum, hint: (global::Godot.PropertyHint)2, hintString: "A,B,C", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_fieldFlagsEnum, hint: (global::Godot.PropertyHint)6, hintString: "A:0,B:1,C:2", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)29, name: PropertyName.@_fieldByteArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)30, name: PropertyName.@_fieldInt32Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)31, name: PropertyName.@_fieldInt64Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)32, name: PropertyName.@_fieldSingleArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)33, name: PropertyName.@_fieldDoubleArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)34, name: PropertyName.@_fieldStringArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)34, name: PropertyName.@_fieldStringArrayEnum, hint: (global::Godot.PropertyHint)23, hintString: "4/2:A,B,C", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)35, name: PropertyName.@_fieldVector2Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)36, name: PropertyName.@_fieldVector3Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)37, name: PropertyName.@_fieldColorArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@_fieldGodotObjectOrDerivedArray, hint: (global::Godot.PropertyHint)23, hintString: "24/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@_fieldStringNameArray, hint: (global::Godot.PropertyHint)23, hintString: "21/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@_fieldNodePathArray, hint: (global::Godot.PropertyHint)23, hintString: "22/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@_fieldRidArray, hint: (global::Godot.PropertyHint)23, hintString: "23/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)30, name: PropertyName.@_fieldEmptyInt32Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)30, name: PropertyName.@_fieldArrayFromList, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)0, name: PropertyName.@_fieldVariant, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)135174, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)24, name: PropertyName.@_fieldGodotObjectOrDerived, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)24, name: PropertyName.@_fieldGodotResourceTexture, hint: (global::Godot.PropertyHint)17, hintString: "Texture", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)21, name: PropertyName.@_fieldStringName, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)22, name: PropertyName.@_fieldNodePath, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)23, name: PropertyName.@_fieldRid, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)27, name: PropertyName.@_fieldGodotDictionary, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@_fieldGodotArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)27, name: PropertyName.@_fieldGodotGenericDictionary, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@_fieldGodotGenericArray, hint: (global::Godot.PropertyHint)23, hintString: "2/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)31, name: PropertyName.@_fieldEmptyInt64Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
return properties;
}
#pragma warning restore CS0109
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptPropertyDefVal.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptPropertyDefVal.generated.cs
index 367cb073c0..f201b7c8d8 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptPropertyDefVal.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedFields_ScriptPropertyDefVal.generated.cs
@@ -13,125 +13,125 @@ partial class ExportedFields
{
var values = new global::System.Collections.Generic.Dictionary<global::Godot.StringName, global::Godot.Variant>(60);
bool ___fieldBoolean_default_value = true;
- values.Add(PropertyName._fieldBoolean, global::Godot.Variant.From<bool>(___fieldBoolean_default_value));
+ values.Add(PropertyName.@_fieldBoolean, global::Godot.Variant.From<bool>(___fieldBoolean_default_value));
char ___fieldChar_default_value = 'f';
- values.Add(PropertyName._fieldChar, global::Godot.Variant.From<char>(___fieldChar_default_value));
+ values.Add(PropertyName.@_fieldChar, global::Godot.Variant.From<char>(___fieldChar_default_value));
sbyte ___fieldSByte_default_value = 10;
- values.Add(PropertyName._fieldSByte, global::Godot.Variant.From<sbyte>(___fieldSByte_default_value));
+ values.Add(PropertyName.@_fieldSByte, global::Godot.Variant.From<sbyte>(___fieldSByte_default_value));
short ___fieldInt16_default_value = 10;
- values.Add(PropertyName._fieldInt16, global::Godot.Variant.From<short>(___fieldInt16_default_value));
+ values.Add(PropertyName.@_fieldInt16, global::Godot.Variant.From<short>(___fieldInt16_default_value));
int ___fieldInt32_default_value = 10;
- values.Add(PropertyName._fieldInt32, global::Godot.Variant.From<int>(___fieldInt32_default_value));
+ values.Add(PropertyName.@_fieldInt32, global::Godot.Variant.From<int>(___fieldInt32_default_value));
long ___fieldInt64_default_value = 10;
- values.Add(PropertyName._fieldInt64, global::Godot.Variant.From<long>(___fieldInt64_default_value));
+ values.Add(PropertyName.@_fieldInt64, global::Godot.Variant.From<long>(___fieldInt64_default_value));
byte ___fieldByte_default_value = 10;
- values.Add(PropertyName._fieldByte, global::Godot.Variant.From<byte>(___fieldByte_default_value));
+ values.Add(PropertyName.@_fieldByte, global::Godot.Variant.From<byte>(___fieldByte_default_value));
ushort ___fieldUInt16_default_value = 10;
- values.Add(PropertyName._fieldUInt16, global::Godot.Variant.From<ushort>(___fieldUInt16_default_value));
+ values.Add(PropertyName.@_fieldUInt16, global::Godot.Variant.From<ushort>(___fieldUInt16_default_value));
uint ___fieldUInt32_default_value = 10;
- values.Add(PropertyName._fieldUInt32, global::Godot.Variant.From<uint>(___fieldUInt32_default_value));
+ values.Add(PropertyName.@_fieldUInt32, global::Godot.Variant.From<uint>(___fieldUInt32_default_value));
ulong ___fieldUInt64_default_value = 10;
- values.Add(PropertyName._fieldUInt64, global::Godot.Variant.From<ulong>(___fieldUInt64_default_value));
+ values.Add(PropertyName.@_fieldUInt64, global::Godot.Variant.From<ulong>(___fieldUInt64_default_value));
float ___fieldSingle_default_value = 10;
- values.Add(PropertyName._fieldSingle, global::Godot.Variant.From<float>(___fieldSingle_default_value));
+ values.Add(PropertyName.@_fieldSingle, global::Godot.Variant.From<float>(___fieldSingle_default_value));
double ___fieldDouble_default_value = 10;
- values.Add(PropertyName._fieldDouble, global::Godot.Variant.From<double>(___fieldDouble_default_value));
+ values.Add(PropertyName.@_fieldDouble, global::Godot.Variant.From<double>(___fieldDouble_default_value));
string ___fieldString_default_value = "foo";
- values.Add(PropertyName._fieldString, global::Godot.Variant.From<string>(___fieldString_default_value));
+ values.Add(PropertyName.@_fieldString, global::Godot.Variant.From<string>(___fieldString_default_value));
global::Godot.Vector2 ___fieldVector2_default_value = new(10f, 10f);
- values.Add(PropertyName._fieldVector2, global::Godot.Variant.From<global::Godot.Vector2>(___fieldVector2_default_value));
+ values.Add(PropertyName.@_fieldVector2, global::Godot.Variant.From<global::Godot.Vector2>(___fieldVector2_default_value));
global::Godot.Vector2I ___fieldVector2I_default_value = global::Godot.Vector2I.Up;
- values.Add(PropertyName._fieldVector2I, global::Godot.Variant.From<global::Godot.Vector2I>(___fieldVector2I_default_value));
+ values.Add(PropertyName.@_fieldVector2I, global::Godot.Variant.From<global::Godot.Vector2I>(___fieldVector2I_default_value));
global::Godot.Rect2 ___fieldRect2_default_value = new(new global::Godot.Vector2(10f, 10f), new global::Godot.Vector2(10f, 10f));
- values.Add(PropertyName._fieldRect2, global::Godot.Variant.From<global::Godot.Rect2>(___fieldRect2_default_value));
+ values.Add(PropertyName.@_fieldRect2, global::Godot.Variant.From<global::Godot.Rect2>(___fieldRect2_default_value));
global::Godot.Rect2I ___fieldRect2I_default_value = new(new global::Godot.Vector2I(10, 10), new global::Godot.Vector2I(10, 10));
- values.Add(PropertyName._fieldRect2I, global::Godot.Variant.From<global::Godot.Rect2I>(___fieldRect2I_default_value));
+ values.Add(PropertyName.@_fieldRect2I, global::Godot.Variant.From<global::Godot.Rect2I>(___fieldRect2I_default_value));
global::Godot.Transform2D ___fieldTransform2D_default_value = global::Godot.Transform2D.Identity;
- values.Add(PropertyName._fieldTransform2D, global::Godot.Variant.From<global::Godot.Transform2D>(___fieldTransform2D_default_value));
+ values.Add(PropertyName.@_fieldTransform2D, global::Godot.Variant.From<global::Godot.Transform2D>(___fieldTransform2D_default_value));
global::Godot.Vector3 ___fieldVector3_default_value = new(10f, 10f, 10f);
- values.Add(PropertyName._fieldVector3, global::Godot.Variant.From<global::Godot.Vector3>(___fieldVector3_default_value));
+ values.Add(PropertyName.@_fieldVector3, global::Godot.Variant.From<global::Godot.Vector3>(___fieldVector3_default_value));
global::Godot.Vector3I ___fieldVector3I_default_value = global::Godot.Vector3I.Back;
- values.Add(PropertyName._fieldVector3I, global::Godot.Variant.From<global::Godot.Vector3I>(___fieldVector3I_default_value));
+ values.Add(PropertyName.@_fieldVector3I, global::Godot.Variant.From<global::Godot.Vector3I>(___fieldVector3I_default_value));
global::Godot.Basis ___fieldBasis_default_value = new global::Godot.Basis(global::Godot.Quaternion.Identity);
- values.Add(PropertyName._fieldBasis, global::Godot.Variant.From<global::Godot.Basis>(___fieldBasis_default_value));
+ values.Add(PropertyName.@_fieldBasis, global::Godot.Variant.From<global::Godot.Basis>(___fieldBasis_default_value));
global::Godot.Quaternion ___fieldQuaternion_default_value = new global::Godot.Quaternion(global::Godot.Basis.Identity);
- values.Add(PropertyName._fieldQuaternion, global::Godot.Variant.From<global::Godot.Quaternion>(___fieldQuaternion_default_value));
+ values.Add(PropertyName.@_fieldQuaternion, global::Godot.Variant.From<global::Godot.Quaternion>(___fieldQuaternion_default_value));
global::Godot.Transform3D ___fieldTransform3D_default_value = global::Godot.Transform3D.Identity;
- values.Add(PropertyName._fieldTransform3D, global::Godot.Variant.From<global::Godot.Transform3D>(___fieldTransform3D_default_value));
+ values.Add(PropertyName.@_fieldTransform3D, global::Godot.Variant.From<global::Godot.Transform3D>(___fieldTransform3D_default_value));
global::Godot.Vector4 ___fieldVector4_default_value = new(10f, 10f, 10f, 10f);
- values.Add(PropertyName._fieldVector4, global::Godot.Variant.From<global::Godot.Vector4>(___fieldVector4_default_value));
+ values.Add(PropertyName.@_fieldVector4, global::Godot.Variant.From<global::Godot.Vector4>(___fieldVector4_default_value));
global::Godot.Vector4I ___fieldVector4I_default_value = global::Godot.Vector4I.One;
- values.Add(PropertyName._fieldVector4I, global::Godot.Variant.From<global::Godot.Vector4I>(___fieldVector4I_default_value));
+ values.Add(PropertyName.@_fieldVector4I, global::Godot.Variant.From<global::Godot.Vector4I>(___fieldVector4I_default_value));
global::Godot.Projection ___fieldProjection_default_value = global::Godot.Projection.Identity;
- values.Add(PropertyName._fieldProjection, global::Godot.Variant.From<global::Godot.Projection>(___fieldProjection_default_value));
+ values.Add(PropertyName.@_fieldProjection, global::Godot.Variant.From<global::Godot.Projection>(___fieldProjection_default_value));
global::Godot.Aabb ___fieldAabb_default_value = new global::Godot.Aabb(10f, 10f, 10f, new global::Godot.Vector3(1f, 1f, 1f));
- values.Add(PropertyName._fieldAabb, global::Godot.Variant.From<global::Godot.Aabb>(___fieldAabb_default_value));
+ values.Add(PropertyName.@_fieldAabb, global::Godot.Variant.From<global::Godot.Aabb>(___fieldAabb_default_value));
global::Godot.Color ___fieldColor_default_value = global::Godot.Colors.Aquamarine;
- values.Add(PropertyName._fieldColor, global::Godot.Variant.From<global::Godot.Color>(___fieldColor_default_value));
+ values.Add(PropertyName.@_fieldColor, global::Godot.Variant.From<global::Godot.Color>(___fieldColor_default_value));
global::Godot.Plane ___fieldPlane_default_value = global::Godot.Plane.PlaneXZ;
- values.Add(PropertyName._fieldPlane, global::Godot.Variant.From<global::Godot.Plane>(___fieldPlane_default_value));
+ values.Add(PropertyName.@_fieldPlane, global::Godot.Variant.From<global::Godot.Plane>(___fieldPlane_default_value));
global::Godot.Callable ___fieldCallable_default_value = new global::Godot.Callable(global::Godot.Engine.GetMainLoop(), "_process");
- values.Add(PropertyName._fieldCallable, global::Godot.Variant.From<global::Godot.Callable>(___fieldCallable_default_value));
+ values.Add(PropertyName.@_fieldCallable, global::Godot.Variant.From<global::Godot.Callable>(___fieldCallable_default_value));
global::Godot.Signal ___fieldSignal_default_value = new global::Godot.Signal(global::Godot.Engine.GetMainLoop(), "property_list_changed");
- values.Add(PropertyName._fieldSignal, global::Godot.Variant.From<global::Godot.Signal>(___fieldSignal_default_value));
+ values.Add(PropertyName.@_fieldSignal, global::Godot.Variant.From<global::Godot.Signal>(___fieldSignal_default_value));
global::ExportedFields.MyEnum ___fieldEnum_default_value = global::ExportedFields.MyEnum.C;
- values.Add(PropertyName._fieldEnum, global::Godot.Variant.From<global::ExportedFields.MyEnum>(___fieldEnum_default_value));
+ values.Add(PropertyName.@_fieldEnum, global::Godot.Variant.From<global::ExportedFields.MyEnum>(___fieldEnum_default_value));
global::ExportedFields.MyFlagsEnum ___fieldFlagsEnum_default_value = global::ExportedFields.MyFlagsEnum.C;
- values.Add(PropertyName._fieldFlagsEnum, global::Godot.Variant.From<global::ExportedFields.MyFlagsEnum>(___fieldFlagsEnum_default_value));
+ values.Add(PropertyName.@_fieldFlagsEnum, global::Godot.Variant.From<global::ExportedFields.MyFlagsEnum>(___fieldFlagsEnum_default_value));
byte[] ___fieldByteArray_default_value = { 0, 1, 2, 3, 4, 5, 6 };
- values.Add(PropertyName._fieldByteArray, global::Godot.Variant.From<byte[]>(___fieldByteArray_default_value));
+ values.Add(PropertyName.@_fieldByteArray, global::Godot.Variant.From<byte[]>(___fieldByteArray_default_value));
int[] ___fieldInt32Array_default_value = { 0, 1, 2, 3, 4, 5, 6 };
- values.Add(PropertyName._fieldInt32Array, global::Godot.Variant.From<int[]>(___fieldInt32Array_default_value));
+ values.Add(PropertyName.@_fieldInt32Array, global::Godot.Variant.From<int[]>(___fieldInt32Array_default_value));
long[] ___fieldInt64Array_default_value = { 0, 1, 2, 3, 4, 5, 6 };
- values.Add(PropertyName._fieldInt64Array, global::Godot.Variant.From<long[]>(___fieldInt64Array_default_value));
+ values.Add(PropertyName.@_fieldInt64Array, global::Godot.Variant.From<long[]>(___fieldInt64Array_default_value));
float[] ___fieldSingleArray_default_value = { 0f, 1f, 2f, 3f, 4f, 5f, 6f };
- values.Add(PropertyName._fieldSingleArray, global::Godot.Variant.From<float[]>(___fieldSingleArray_default_value));
+ values.Add(PropertyName.@_fieldSingleArray, global::Godot.Variant.From<float[]>(___fieldSingleArray_default_value));
double[] ___fieldDoubleArray_default_value = { 0d, 1d, 2d, 3d, 4d, 5d, 6d };
- values.Add(PropertyName._fieldDoubleArray, global::Godot.Variant.From<double[]>(___fieldDoubleArray_default_value));
+ values.Add(PropertyName.@_fieldDoubleArray, global::Godot.Variant.From<double[]>(___fieldDoubleArray_default_value));
string[] ___fieldStringArray_default_value = { "foo", "bar" };
- values.Add(PropertyName._fieldStringArray, global::Godot.Variant.From<string[]>(___fieldStringArray_default_value));
+ values.Add(PropertyName.@_fieldStringArray, global::Godot.Variant.From<string[]>(___fieldStringArray_default_value));
string[] ___fieldStringArrayEnum_default_value = { "foo", "bar" };
- values.Add(PropertyName._fieldStringArrayEnum, global::Godot.Variant.From<string[]>(___fieldStringArrayEnum_default_value));
+ values.Add(PropertyName.@_fieldStringArrayEnum, global::Godot.Variant.From<string[]>(___fieldStringArrayEnum_default_value));
global::Godot.Vector2[] ___fieldVector2Array_default_value = { global::Godot.Vector2.Up, global::Godot.Vector2.Down, global::Godot.Vector2.Left, global::Godot.Vector2.Right };
- values.Add(PropertyName._fieldVector2Array, global::Godot.Variant.From<global::Godot.Vector2[]>(___fieldVector2Array_default_value));
+ values.Add(PropertyName.@_fieldVector2Array, global::Godot.Variant.From<global::Godot.Vector2[]>(___fieldVector2Array_default_value));
global::Godot.Vector3[] ___fieldVector3Array_default_value = { global::Godot.Vector3.Up, global::Godot.Vector3.Down, global::Godot.Vector3.Left, global::Godot.Vector3.Right };
- values.Add(PropertyName._fieldVector3Array, global::Godot.Variant.From<global::Godot.Vector3[]>(___fieldVector3Array_default_value));
+ values.Add(PropertyName.@_fieldVector3Array, global::Godot.Variant.From<global::Godot.Vector3[]>(___fieldVector3Array_default_value));
global::Godot.Color[] ___fieldColorArray_default_value = { global::Godot.Colors.Aqua, global::Godot.Colors.Aquamarine, global::Godot.Colors.Azure, global::Godot.Colors.Beige };
- values.Add(PropertyName._fieldColorArray, global::Godot.Variant.From<global::Godot.Color[]>(___fieldColorArray_default_value));
+ values.Add(PropertyName.@_fieldColorArray, global::Godot.Variant.From<global::Godot.Color[]>(___fieldColorArray_default_value));
global::Godot.GodotObject[] ___fieldGodotObjectOrDerivedArray_default_value = { null };
- values.Add(PropertyName._fieldGodotObjectOrDerivedArray, global::Godot.Variant.CreateFrom(___fieldGodotObjectOrDerivedArray_default_value));
+ values.Add(PropertyName.@_fieldGodotObjectOrDerivedArray, global::Godot.Variant.CreateFrom(___fieldGodotObjectOrDerivedArray_default_value));
global::Godot.StringName[] ___fieldStringNameArray_default_value = { "foo", "bar" };
- values.Add(PropertyName._fieldStringNameArray, global::Godot.Variant.From<global::Godot.StringName[]>(___fieldStringNameArray_default_value));
+ values.Add(PropertyName.@_fieldStringNameArray, global::Godot.Variant.From<global::Godot.StringName[]>(___fieldStringNameArray_default_value));
global::Godot.NodePath[] ___fieldNodePathArray_default_value = { "foo", "bar" };
- values.Add(PropertyName._fieldNodePathArray, global::Godot.Variant.From<global::Godot.NodePath[]>(___fieldNodePathArray_default_value));
+ values.Add(PropertyName.@_fieldNodePathArray, global::Godot.Variant.From<global::Godot.NodePath[]>(___fieldNodePathArray_default_value));
global::Godot.Rid[] ___fieldRidArray_default_value = { default, default, default };
- values.Add(PropertyName._fieldRidArray, global::Godot.Variant.From<global::Godot.Rid[]>(___fieldRidArray_default_value));
+ values.Add(PropertyName.@_fieldRidArray, global::Godot.Variant.From<global::Godot.Rid[]>(___fieldRidArray_default_value));
int[] ___fieldEmptyInt32Array_default_value = global::System.Array.Empty<int>();
- values.Add(PropertyName._fieldEmptyInt32Array, global::Godot.Variant.From<int[]>(___fieldEmptyInt32Array_default_value));
+ values.Add(PropertyName.@_fieldEmptyInt32Array, global::Godot.Variant.From<int[]>(___fieldEmptyInt32Array_default_value));
int[] ___fieldArrayFromList_default_value = new global::System.Collections.Generic.List<int>(global::System.Array.Empty<int>()).ToArray();
- values.Add(PropertyName._fieldArrayFromList, global::Godot.Variant.From<int[]>(___fieldArrayFromList_default_value));
+ values.Add(PropertyName.@_fieldArrayFromList, global::Godot.Variant.From<int[]>(___fieldArrayFromList_default_value));
global::Godot.Variant ___fieldVariant_default_value = "foo";
- values.Add(PropertyName._fieldVariant, global::Godot.Variant.From<global::Godot.Variant>(___fieldVariant_default_value));
+ values.Add(PropertyName.@_fieldVariant, global::Godot.Variant.From<global::Godot.Variant>(___fieldVariant_default_value));
global::Godot.GodotObject ___fieldGodotObjectOrDerived_default_value = default;
- values.Add(PropertyName._fieldGodotObjectOrDerived, global::Godot.Variant.From<global::Godot.GodotObject>(___fieldGodotObjectOrDerived_default_value));
+ values.Add(PropertyName.@_fieldGodotObjectOrDerived, global::Godot.Variant.From<global::Godot.GodotObject>(___fieldGodotObjectOrDerived_default_value));
global::Godot.Texture ___fieldGodotResourceTexture_default_value = default;
- values.Add(PropertyName._fieldGodotResourceTexture, global::Godot.Variant.From<global::Godot.Texture>(___fieldGodotResourceTexture_default_value));
+ values.Add(PropertyName.@_fieldGodotResourceTexture, global::Godot.Variant.From<global::Godot.Texture>(___fieldGodotResourceTexture_default_value));
global::Godot.StringName ___fieldStringName_default_value = new global::Godot.StringName("foo");
- values.Add(PropertyName._fieldStringName, global::Godot.Variant.From<global::Godot.StringName>(___fieldStringName_default_value));
+ values.Add(PropertyName.@_fieldStringName, global::Godot.Variant.From<global::Godot.StringName>(___fieldStringName_default_value));
global::Godot.NodePath ___fieldNodePath_default_value = new global::Godot.NodePath("foo");
- values.Add(PropertyName._fieldNodePath, global::Godot.Variant.From<global::Godot.NodePath>(___fieldNodePath_default_value));
+ values.Add(PropertyName.@_fieldNodePath, global::Godot.Variant.From<global::Godot.NodePath>(___fieldNodePath_default_value));
global::Godot.Rid ___fieldRid_default_value = default;
- values.Add(PropertyName._fieldRid, global::Godot.Variant.From<global::Godot.Rid>(___fieldRid_default_value));
+ values.Add(PropertyName.@_fieldRid, global::Godot.Variant.From<global::Godot.Rid>(___fieldRid_default_value));
global::Godot.Collections.Dictionary ___fieldGodotDictionary_default_value = new() { { "foo", 10 }, { global::Godot.Vector2.Up, global::Godot.Colors.Chocolate } };
- values.Add(PropertyName._fieldGodotDictionary, global::Godot.Variant.From<global::Godot.Collections.Dictionary>(___fieldGodotDictionary_default_value));
+ values.Add(PropertyName.@_fieldGodotDictionary, global::Godot.Variant.From<global::Godot.Collections.Dictionary>(___fieldGodotDictionary_default_value));
global::Godot.Collections.Array ___fieldGodotArray_default_value = new() { "foo", 10, global::Godot.Vector2.Up, global::Godot.Colors.Chocolate };
- values.Add(PropertyName._fieldGodotArray, global::Godot.Variant.From<global::Godot.Collections.Array>(___fieldGodotArray_default_value));
+ values.Add(PropertyName.@_fieldGodotArray, global::Godot.Variant.From<global::Godot.Collections.Array>(___fieldGodotArray_default_value));
global::Godot.Collections.Dictionary<string, bool> ___fieldGodotGenericDictionary_default_value = new() { { "foo", true }, { "bar", false } };
- values.Add(PropertyName._fieldGodotGenericDictionary, global::Godot.Variant.CreateFrom(___fieldGodotGenericDictionary_default_value));
+ values.Add(PropertyName.@_fieldGodotGenericDictionary, global::Godot.Variant.CreateFrom(___fieldGodotGenericDictionary_default_value));
global::Godot.Collections.Array<int> ___fieldGodotGenericArray_default_value = new() { 0, 1, 2, 3, 4, 5, 6 };
- values.Add(PropertyName._fieldGodotGenericArray, global::Godot.Variant.CreateFrom(___fieldGodotGenericArray_default_value));
+ values.Add(PropertyName.@_fieldGodotGenericArray, global::Godot.Variant.CreateFrom(___fieldGodotGenericArray_default_value));
long[] ___fieldEmptyInt64Array_default_value = global::System.Array.Empty<long>();
- values.Add(PropertyName._fieldEmptyInt64Array, global::Godot.Variant.From<long[]>(___fieldEmptyInt64Array_default_value));
+ values.Add(PropertyName.@_fieldEmptyInt64Array, global::Godot.Variant.From<long[]>(___fieldEmptyInt64Array_default_value));
return values;
}
#endif // TOOLS
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptProperties.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptProperties.generated.cs
index aa876d8d7d..3c48740773 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptProperties.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptProperties.generated.cs
@@ -11,558 +11,558 @@ partial class ExportedProperties
/// <summary>
/// Cached name for the 'NotGenerateComplexLamdaProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName NotGenerateComplexLamdaProperty = "NotGenerateComplexLamdaProperty";
+ public new static readonly global::Godot.StringName @NotGenerateComplexLamdaProperty = "NotGenerateComplexLamdaProperty";
/// <summary>
/// Cached name for the 'NotGenerateLamdaNoFieldProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName NotGenerateLamdaNoFieldProperty = "NotGenerateLamdaNoFieldProperty";
+ public new static readonly global::Godot.StringName @NotGenerateLamdaNoFieldProperty = "NotGenerateLamdaNoFieldProperty";
/// <summary>
/// Cached name for the 'NotGenerateComplexReturnProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName NotGenerateComplexReturnProperty = "NotGenerateComplexReturnProperty";
+ public new static readonly global::Godot.StringName @NotGenerateComplexReturnProperty = "NotGenerateComplexReturnProperty";
/// <summary>
/// Cached name for the 'NotGenerateReturnsProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName NotGenerateReturnsProperty = "NotGenerateReturnsProperty";
+ public new static readonly global::Godot.StringName @NotGenerateReturnsProperty = "NotGenerateReturnsProperty";
/// <summary>
/// Cached name for the 'FullPropertyString' property.
/// </summary>
- public new static readonly global::Godot.StringName FullPropertyString = "FullPropertyString";
+ public new static readonly global::Godot.StringName @FullPropertyString = "FullPropertyString";
/// <summary>
/// Cached name for the 'FullPropertyString_Complex' property.
/// </summary>
- public new static readonly global::Godot.StringName FullPropertyString_Complex = "FullPropertyString_Complex";
+ public new static readonly global::Godot.StringName @FullPropertyString_Complex = "FullPropertyString_Complex";
/// <summary>
/// Cached name for the 'LamdaPropertyString' property.
/// </summary>
- public new static readonly global::Godot.StringName LamdaPropertyString = "LamdaPropertyString";
+ public new static readonly global::Godot.StringName @LamdaPropertyString = "LamdaPropertyString";
/// <summary>
/// Cached name for the 'PropertyBoolean' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyBoolean = "PropertyBoolean";
+ public new static readonly global::Godot.StringName @PropertyBoolean = "PropertyBoolean";
/// <summary>
/// Cached name for the 'PropertyChar' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyChar = "PropertyChar";
+ public new static readonly global::Godot.StringName @PropertyChar = "PropertyChar";
/// <summary>
/// Cached name for the 'PropertySByte' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertySByte = "PropertySByte";
+ public new static readonly global::Godot.StringName @PropertySByte = "PropertySByte";
/// <summary>
/// Cached name for the 'PropertyInt16' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyInt16 = "PropertyInt16";
+ public new static readonly global::Godot.StringName @PropertyInt16 = "PropertyInt16";
/// <summary>
/// Cached name for the 'PropertyInt32' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyInt32 = "PropertyInt32";
+ public new static readonly global::Godot.StringName @PropertyInt32 = "PropertyInt32";
/// <summary>
/// Cached name for the 'PropertyInt64' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyInt64 = "PropertyInt64";
+ public new static readonly global::Godot.StringName @PropertyInt64 = "PropertyInt64";
/// <summary>
/// Cached name for the 'PropertyByte' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyByte = "PropertyByte";
+ public new static readonly global::Godot.StringName @PropertyByte = "PropertyByte";
/// <summary>
/// Cached name for the 'PropertyUInt16' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyUInt16 = "PropertyUInt16";
+ public new static readonly global::Godot.StringName @PropertyUInt16 = "PropertyUInt16";
/// <summary>
/// Cached name for the 'PropertyUInt32' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyUInt32 = "PropertyUInt32";
+ public new static readonly global::Godot.StringName @PropertyUInt32 = "PropertyUInt32";
/// <summary>
/// Cached name for the 'PropertyUInt64' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyUInt64 = "PropertyUInt64";
+ public new static readonly global::Godot.StringName @PropertyUInt64 = "PropertyUInt64";
/// <summary>
/// Cached name for the 'PropertySingle' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertySingle = "PropertySingle";
+ public new static readonly global::Godot.StringName @PropertySingle = "PropertySingle";
/// <summary>
/// Cached name for the 'PropertyDouble' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyDouble = "PropertyDouble";
+ public new static readonly global::Godot.StringName @PropertyDouble = "PropertyDouble";
/// <summary>
/// Cached name for the 'PropertyString' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyString = "PropertyString";
+ public new static readonly global::Godot.StringName @PropertyString = "PropertyString";
/// <summary>
/// Cached name for the 'PropertyVector2' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVector2 = "PropertyVector2";
+ public new static readonly global::Godot.StringName @PropertyVector2 = "PropertyVector2";
/// <summary>
/// Cached name for the 'PropertyVector2I' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVector2I = "PropertyVector2I";
+ public new static readonly global::Godot.StringName @PropertyVector2I = "PropertyVector2I";
/// <summary>
/// Cached name for the 'PropertyRect2' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyRect2 = "PropertyRect2";
+ public new static readonly global::Godot.StringName @PropertyRect2 = "PropertyRect2";
/// <summary>
/// Cached name for the 'PropertyRect2I' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyRect2I = "PropertyRect2I";
+ public new static readonly global::Godot.StringName @PropertyRect2I = "PropertyRect2I";
/// <summary>
/// Cached name for the 'PropertyTransform2D' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyTransform2D = "PropertyTransform2D";
+ public new static readonly global::Godot.StringName @PropertyTransform2D = "PropertyTransform2D";
/// <summary>
/// Cached name for the 'PropertyVector3' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVector3 = "PropertyVector3";
+ public new static readonly global::Godot.StringName @PropertyVector3 = "PropertyVector3";
/// <summary>
/// Cached name for the 'PropertyVector3I' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVector3I = "PropertyVector3I";
+ public new static readonly global::Godot.StringName @PropertyVector3I = "PropertyVector3I";
/// <summary>
/// Cached name for the 'PropertyBasis' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyBasis = "PropertyBasis";
+ public new static readonly global::Godot.StringName @PropertyBasis = "PropertyBasis";
/// <summary>
/// Cached name for the 'PropertyQuaternion' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyQuaternion = "PropertyQuaternion";
+ public new static readonly global::Godot.StringName @PropertyQuaternion = "PropertyQuaternion";
/// <summary>
/// Cached name for the 'PropertyTransform3D' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyTransform3D = "PropertyTransform3D";
+ public new static readonly global::Godot.StringName @PropertyTransform3D = "PropertyTransform3D";
/// <summary>
/// Cached name for the 'PropertyVector4' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVector4 = "PropertyVector4";
+ public new static readonly global::Godot.StringName @PropertyVector4 = "PropertyVector4";
/// <summary>
/// Cached name for the 'PropertyVector4I' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVector4I = "PropertyVector4I";
+ public new static readonly global::Godot.StringName @PropertyVector4I = "PropertyVector4I";
/// <summary>
/// Cached name for the 'PropertyProjection' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyProjection = "PropertyProjection";
+ public new static readonly global::Godot.StringName @PropertyProjection = "PropertyProjection";
/// <summary>
/// Cached name for the 'PropertyAabb' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyAabb = "PropertyAabb";
+ public new static readonly global::Godot.StringName @PropertyAabb = "PropertyAabb";
/// <summary>
/// Cached name for the 'PropertyColor' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyColor = "PropertyColor";
+ public new static readonly global::Godot.StringName @PropertyColor = "PropertyColor";
/// <summary>
/// Cached name for the 'PropertyPlane' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyPlane = "PropertyPlane";
+ public new static readonly global::Godot.StringName @PropertyPlane = "PropertyPlane";
/// <summary>
/// Cached name for the 'PropertyCallable' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyCallable = "PropertyCallable";
+ public new static readonly global::Godot.StringName @PropertyCallable = "PropertyCallable";
/// <summary>
/// Cached name for the 'PropertySignal' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertySignal = "PropertySignal";
+ public new static readonly global::Godot.StringName @PropertySignal = "PropertySignal";
/// <summary>
/// Cached name for the 'PropertyEnum' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyEnum = "PropertyEnum";
+ public new static readonly global::Godot.StringName @PropertyEnum = "PropertyEnum";
/// <summary>
/// Cached name for the 'PropertyFlagsEnum' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyFlagsEnum = "PropertyFlagsEnum";
+ public new static readonly global::Godot.StringName @PropertyFlagsEnum = "PropertyFlagsEnum";
/// <summary>
/// Cached name for the 'PropertyByteArray' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyByteArray = "PropertyByteArray";
+ public new static readonly global::Godot.StringName @PropertyByteArray = "PropertyByteArray";
/// <summary>
/// Cached name for the 'PropertyInt32Array' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyInt32Array = "PropertyInt32Array";
+ public new static readonly global::Godot.StringName @PropertyInt32Array = "PropertyInt32Array";
/// <summary>
/// Cached name for the 'PropertyInt64Array' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyInt64Array = "PropertyInt64Array";
+ public new static readonly global::Godot.StringName @PropertyInt64Array = "PropertyInt64Array";
/// <summary>
/// Cached name for the 'PropertySingleArray' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertySingleArray = "PropertySingleArray";
+ public new static readonly global::Godot.StringName @PropertySingleArray = "PropertySingleArray";
/// <summary>
/// Cached name for the 'PropertyDoubleArray' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyDoubleArray = "PropertyDoubleArray";
+ public new static readonly global::Godot.StringName @PropertyDoubleArray = "PropertyDoubleArray";
/// <summary>
/// Cached name for the 'PropertyStringArray' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyStringArray = "PropertyStringArray";
+ public new static readonly global::Godot.StringName @PropertyStringArray = "PropertyStringArray";
/// <summary>
/// Cached name for the 'PropertyStringArrayEnum' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyStringArrayEnum = "PropertyStringArrayEnum";
+ public new static readonly global::Godot.StringName @PropertyStringArrayEnum = "PropertyStringArrayEnum";
/// <summary>
/// Cached name for the 'PropertyVector2Array' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVector2Array = "PropertyVector2Array";
+ public new static readonly global::Godot.StringName @PropertyVector2Array = "PropertyVector2Array";
/// <summary>
/// Cached name for the 'PropertyVector3Array' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVector3Array = "PropertyVector3Array";
+ public new static readonly global::Godot.StringName @PropertyVector3Array = "PropertyVector3Array";
/// <summary>
/// Cached name for the 'PropertyColorArray' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyColorArray = "PropertyColorArray";
+ public new static readonly global::Godot.StringName @PropertyColorArray = "PropertyColorArray";
/// <summary>
/// Cached name for the 'PropertyGodotObjectOrDerivedArray' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyGodotObjectOrDerivedArray = "PropertyGodotObjectOrDerivedArray";
+ public new static readonly global::Godot.StringName @PropertyGodotObjectOrDerivedArray = "PropertyGodotObjectOrDerivedArray";
/// <summary>
/// Cached name for the 'field_StringNameArray' property.
/// </summary>
- public new static readonly global::Godot.StringName field_StringNameArray = "field_StringNameArray";
+ public new static readonly global::Godot.StringName @field_StringNameArray = "field_StringNameArray";
/// <summary>
/// Cached name for the 'field_NodePathArray' property.
/// </summary>
- public new static readonly global::Godot.StringName field_NodePathArray = "field_NodePathArray";
+ public new static readonly global::Godot.StringName @field_NodePathArray = "field_NodePathArray";
/// <summary>
/// Cached name for the 'field_RidArray' property.
/// </summary>
- public new static readonly global::Godot.StringName field_RidArray = "field_RidArray";
+ public new static readonly global::Godot.StringName @field_RidArray = "field_RidArray";
/// <summary>
/// Cached name for the 'PropertyVariant' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyVariant = "PropertyVariant";
+ public new static readonly global::Godot.StringName @PropertyVariant = "PropertyVariant";
/// <summary>
/// Cached name for the 'PropertyGodotObjectOrDerived' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyGodotObjectOrDerived = "PropertyGodotObjectOrDerived";
+ public new static readonly global::Godot.StringName @PropertyGodotObjectOrDerived = "PropertyGodotObjectOrDerived";
/// <summary>
/// Cached name for the 'PropertyGodotResourceTexture' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyGodotResourceTexture = "PropertyGodotResourceTexture";
+ public new static readonly global::Godot.StringName @PropertyGodotResourceTexture = "PropertyGodotResourceTexture";
/// <summary>
/// Cached name for the 'PropertyStringName' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyStringName = "PropertyStringName";
+ public new static readonly global::Godot.StringName @PropertyStringName = "PropertyStringName";
/// <summary>
/// Cached name for the 'PropertyNodePath' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyNodePath = "PropertyNodePath";
+ public new static readonly global::Godot.StringName @PropertyNodePath = "PropertyNodePath";
/// <summary>
/// Cached name for the 'PropertyRid' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyRid = "PropertyRid";
+ public new static readonly global::Godot.StringName @PropertyRid = "PropertyRid";
/// <summary>
/// Cached name for the 'PropertyGodotDictionary' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyGodotDictionary = "PropertyGodotDictionary";
+ public new static readonly global::Godot.StringName @PropertyGodotDictionary = "PropertyGodotDictionary";
/// <summary>
/// Cached name for the 'PropertyGodotArray' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyGodotArray = "PropertyGodotArray";
+ public new static readonly global::Godot.StringName @PropertyGodotArray = "PropertyGodotArray";
/// <summary>
/// Cached name for the 'PropertyGodotGenericDictionary' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyGodotGenericDictionary = "PropertyGodotGenericDictionary";
+ public new static readonly global::Godot.StringName @PropertyGodotGenericDictionary = "PropertyGodotGenericDictionary";
/// <summary>
/// Cached name for the 'PropertyGodotGenericArray' property.
/// </summary>
- public new static readonly global::Godot.StringName PropertyGodotGenericArray = "PropertyGodotGenericArray";
+ public new static readonly global::Godot.StringName @PropertyGodotGenericArray = "PropertyGodotGenericArray";
/// <summary>
/// Cached name for the '_notGeneratePropertyString' field.
/// </summary>
- public new static readonly global::Godot.StringName _notGeneratePropertyString = "_notGeneratePropertyString";
+ public new static readonly global::Godot.StringName @_notGeneratePropertyString = "_notGeneratePropertyString";
/// <summary>
/// Cached name for the '_notGeneratePropertyInt' field.
/// </summary>
- public new static readonly global::Godot.StringName _notGeneratePropertyInt = "_notGeneratePropertyInt";
+ public new static readonly global::Godot.StringName @_notGeneratePropertyInt = "_notGeneratePropertyInt";
/// <summary>
/// Cached name for the '_fullPropertyString' field.
/// </summary>
- public new static readonly global::Godot.StringName _fullPropertyString = "_fullPropertyString";
+ public new static readonly global::Godot.StringName @_fullPropertyString = "_fullPropertyString";
/// <summary>
/// Cached name for the '_fullPropertyStringComplex' field.
/// </summary>
- public new static readonly global::Godot.StringName _fullPropertyStringComplex = "_fullPropertyStringComplex";
+ public new static readonly global::Godot.StringName @_fullPropertyStringComplex = "_fullPropertyStringComplex";
/// <summary>
/// Cached name for the '_lamdaPropertyString' field.
/// </summary>
- public new static readonly global::Godot.StringName _lamdaPropertyString = "_lamdaPropertyString";
+ public new static readonly global::Godot.StringName @_lamdaPropertyString = "_lamdaPropertyString";
}
/// <inheritdoc/>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool SetGodotClassPropertyValue(in godot_string_name name, in godot_variant value)
{
- if (name == PropertyName.NotGenerateComplexLamdaProperty) {
- this.NotGenerateComplexLamdaProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@NotGenerateComplexLamdaProperty) {
+ this.@NotGenerateComplexLamdaProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName.NotGenerateLamdaNoFieldProperty) {
- this.NotGenerateLamdaNoFieldProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@NotGenerateLamdaNoFieldProperty) {
+ this.@NotGenerateLamdaNoFieldProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName.NotGenerateComplexReturnProperty) {
- this.NotGenerateComplexReturnProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@NotGenerateComplexReturnProperty) {
+ this.@NotGenerateComplexReturnProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName.NotGenerateReturnsProperty) {
- this.NotGenerateReturnsProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@NotGenerateReturnsProperty) {
+ this.@NotGenerateReturnsProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName.FullPropertyString) {
- this.FullPropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@FullPropertyString) {
+ this.@FullPropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName.FullPropertyString_Complex) {
- this.FullPropertyString_Complex = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@FullPropertyString_Complex) {
+ this.@FullPropertyString_Complex = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName.LamdaPropertyString) {
- this.LamdaPropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@LamdaPropertyString) {
+ this.@LamdaPropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName.PropertyBoolean) {
- this.PropertyBoolean = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
+ if (name == PropertyName.@PropertyBoolean) {
+ this.@PropertyBoolean = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
return true;
}
- if (name == PropertyName.PropertyChar) {
- this.PropertyChar = global::Godot.NativeInterop.VariantUtils.ConvertTo<char>(value);
+ if (name == PropertyName.@PropertyChar) {
+ this.@PropertyChar = global::Godot.NativeInterop.VariantUtils.ConvertTo<char>(value);
return true;
}
- if (name == PropertyName.PropertySByte) {
- this.PropertySByte = global::Godot.NativeInterop.VariantUtils.ConvertTo<sbyte>(value);
+ if (name == PropertyName.@PropertySByte) {
+ this.@PropertySByte = global::Godot.NativeInterop.VariantUtils.ConvertTo<sbyte>(value);
return true;
}
- if (name == PropertyName.PropertyInt16) {
- this.PropertyInt16 = global::Godot.NativeInterop.VariantUtils.ConvertTo<short>(value);
+ if (name == PropertyName.@PropertyInt16) {
+ this.@PropertyInt16 = global::Godot.NativeInterop.VariantUtils.ConvertTo<short>(value);
return true;
}
- if (name == PropertyName.PropertyInt32) {
- this.PropertyInt32 = global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(value);
+ if (name == PropertyName.@PropertyInt32) {
+ this.@PropertyInt32 = global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(value);
return true;
}
- if (name == PropertyName.PropertyInt64) {
- this.PropertyInt64 = global::Godot.NativeInterop.VariantUtils.ConvertTo<long>(value);
+ if (name == PropertyName.@PropertyInt64) {
+ this.@PropertyInt64 = global::Godot.NativeInterop.VariantUtils.ConvertTo<long>(value);
return true;
}
- if (name == PropertyName.PropertyByte) {
- this.PropertyByte = global::Godot.NativeInterop.VariantUtils.ConvertTo<byte>(value);
+ if (name == PropertyName.@PropertyByte) {
+ this.@PropertyByte = global::Godot.NativeInterop.VariantUtils.ConvertTo<byte>(value);
return true;
}
- if (name == PropertyName.PropertyUInt16) {
- this.PropertyUInt16 = global::Godot.NativeInterop.VariantUtils.ConvertTo<ushort>(value);
+ if (name == PropertyName.@PropertyUInt16) {
+ this.@PropertyUInt16 = global::Godot.NativeInterop.VariantUtils.ConvertTo<ushort>(value);
return true;
}
- if (name == PropertyName.PropertyUInt32) {
- this.PropertyUInt32 = global::Godot.NativeInterop.VariantUtils.ConvertTo<uint>(value);
+ if (name == PropertyName.@PropertyUInt32) {
+ this.@PropertyUInt32 = global::Godot.NativeInterop.VariantUtils.ConvertTo<uint>(value);
return true;
}
- if (name == PropertyName.PropertyUInt64) {
- this.PropertyUInt64 = global::Godot.NativeInterop.VariantUtils.ConvertTo<ulong>(value);
+ if (name == PropertyName.@PropertyUInt64) {
+ this.@PropertyUInt64 = global::Godot.NativeInterop.VariantUtils.ConvertTo<ulong>(value);
return true;
}
- if (name == PropertyName.PropertySingle) {
- this.PropertySingle = global::Godot.NativeInterop.VariantUtils.ConvertTo<float>(value);
+ if (name == PropertyName.@PropertySingle) {
+ this.@PropertySingle = global::Godot.NativeInterop.VariantUtils.ConvertTo<float>(value);
return true;
}
- if (name == PropertyName.PropertyDouble) {
- this.PropertyDouble = global::Godot.NativeInterop.VariantUtils.ConvertTo<double>(value);
+ if (name == PropertyName.@PropertyDouble) {
+ this.@PropertyDouble = global::Godot.NativeInterop.VariantUtils.ConvertTo<double>(value);
return true;
}
- if (name == PropertyName.PropertyString) {
- this.PropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@PropertyString) {
+ this.@PropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName.PropertyVector2) {
- this.PropertyVector2 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2>(value);
+ if (name == PropertyName.@PropertyVector2) {
+ this.@PropertyVector2 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2>(value);
return true;
}
- if (name == PropertyName.PropertyVector2I) {
- this.PropertyVector2I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2I>(value);
+ if (name == PropertyName.@PropertyVector2I) {
+ this.@PropertyVector2I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2I>(value);
return true;
}
- if (name == PropertyName.PropertyRect2) {
- this.PropertyRect2 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rect2>(value);
+ if (name == PropertyName.@PropertyRect2) {
+ this.@PropertyRect2 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rect2>(value);
return true;
}
- if (name == PropertyName.PropertyRect2I) {
- this.PropertyRect2I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rect2I>(value);
+ if (name == PropertyName.@PropertyRect2I) {
+ this.@PropertyRect2I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rect2I>(value);
return true;
}
- if (name == PropertyName.PropertyTransform2D) {
- this.PropertyTransform2D = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Transform2D>(value);
+ if (name == PropertyName.@PropertyTransform2D) {
+ this.@PropertyTransform2D = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Transform2D>(value);
return true;
}
- if (name == PropertyName.PropertyVector3) {
- this.PropertyVector3 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3>(value);
+ if (name == PropertyName.@PropertyVector3) {
+ this.@PropertyVector3 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3>(value);
return true;
}
- if (name == PropertyName.PropertyVector3I) {
- this.PropertyVector3I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3I>(value);
+ if (name == PropertyName.@PropertyVector3I) {
+ this.@PropertyVector3I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3I>(value);
return true;
}
- if (name == PropertyName.PropertyBasis) {
- this.PropertyBasis = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Basis>(value);
+ if (name == PropertyName.@PropertyBasis) {
+ this.@PropertyBasis = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Basis>(value);
return true;
}
- if (name == PropertyName.PropertyQuaternion) {
- this.PropertyQuaternion = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Quaternion>(value);
+ if (name == PropertyName.@PropertyQuaternion) {
+ this.@PropertyQuaternion = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Quaternion>(value);
return true;
}
- if (name == PropertyName.PropertyTransform3D) {
- this.PropertyTransform3D = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Transform3D>(value);
+ if (name == PropertyName.@PropertyTransform3D) {
+ this.@PropertyTransform3D = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Transform3D>(value);
return true;
}
- if (name == PropertyName.PropertyVector4) {
- this.PropertyVector4 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector4>(value);
+ if (name == PropertyName.@PropertyVector4) {
+ this.@PropertyVector4 = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector4>(value);
return true;
}
- if (name == PropertyName.PropertyVector4I) {
- this.PropertyVector4I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector4I>(value);
+ if (name == PropertyName.@PropertyVector4I) {
+ this.@PropertyVector4I = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector4I>(value);
return true;
}
- if (name == PropertyName.PropertyProjection) {
- this.PropertyProjection = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Projection>(value);
+ if (name == PropertyName.@PropertyProjection) {
+ this.@PropertyProjection = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Projection>(value);
return true;
}
- if (name == PropertyName.PropertyAabb) {
- this.PropertyAabb = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Aabb>(value);
+ if (name == PropertyName.@PropertyAabb) {
+ this.@PropertyAabb = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Aabb>(value);
return true;
}
- if (name == PropertyName.PropertyColor) {
- this.PropertyColor = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Color>(value);
+ if (name == PropertyName.@PropertyColor) {
+ this.@PropertyColor = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Color>(value);
return true;
}
- if (name == PropertyName.PropertyPlane) {
- this.PropertyPlane = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Plane>(value);
+ if (name == PropertyName.@PropertyPlane) {
+ this.@PropertyPlane = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Plane>(value);
return true;
}
- if (name == PropertyName.PropertyCallable) {
- this.PropertyCallable = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Callable>(value);
+ if (name == PropertyName.@PropertyCallable) {
+ this.@PropertyCallable = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Callable>(value);
return true;
}
- if (name == PropertyName.PropertySignal) {
- this.PropertySignal = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Signal>(value);
+ if (name == PropertyName.@PropertySignal) {
+ this.@PropertySignal = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Signal>(value);
return true;
}
- if (name == PropertyName.PropertyEnum) {
- this.PropertyEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::ExportedProperties.MyEnum>(value);
+ if (name == PropertyName.@PropertyEnum) {
+ this.@PropertyEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::ExportedProperties.MyEnum>(value);
return true;
}
- if (name == PropertyName.PropertyFlagsEnum) {
- this.PropertyFlagsEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::ExportedProperties.MyFlagsEnum>(value);
+ if (name == PropertyName.@PropertyFlagsEnum) {
+ this.@PropertyFlagsEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::ExportedProperties.MyFlagsEnum>(value);
return true;
}
- if (name == PropertyName.PropertyByteArray) {
- this.PropertyByteArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<byte[]>(value);
+ if (name == PropertyName.@PropertyByteArray) {
+ this.@PropertyByteArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<byte[]>(value);
return true;
}
- if (name == PropertyName.PropertyInt32Array) {
- this.PropertyInt32Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<int[]>(value);
+ if (name == PropertyName.@PropertyInt32Array) {
+ this.@PropertyInt32Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<int[]>(value);
return true;
}
- if (name == PropertyName.PropertyInt64Array) {
- this.PropertyInt64Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<long[]>(value);
+ if (name == PropertyName.@PropertyInt64Array) {
+ this.@PropertyInt64Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<long[]>(value);
return true;
}
- if (name == PropertyName.PropertySingleArray) {
- this.PropertySingleArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<float[]>(value);
+ if (name == PropertyName.@PropertySingleArray) {
+ this.@PropertySingleArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<float[]>(value);
return true;
}
- if (name == PropertyName.PropertyDoubleArray) {
- this.PropertyDoubleArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<double[]>(value);
+ if (name == PropertyName.@PropertyDoubleArray) {
+ this.@PropertyDoubleArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<double[]>(value);
return true;
}
- if (name == PropertyName.PropertyStringArray) {
- this.PropertyStringArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<string[]>(value);
+ if (name == PropertyName.@PropertyStringArray) {
+ this.@PropertyStringArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<string[]>(value);
return true;
}
- if (name == PropertyName.PropertyStringArrayEnum) {
- this.PropertyStringArrayEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<string[]>(value);
+ if (name == PropertyName.@PropertyStringArrayEnum) {
+ this.@PropertyStringArrayEnum = global::Godot.NativeInterop.VariantUtils.ConvertTo<string[]>(value);
return true;
}
- if (name == PropertyName.PropertyVector2Array) {
- this.PropertyVector2Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2[]>(value);
+ if (name == PropertyName.@PropertyVector2Array) {
+ this.@PropertyVector2Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector2[]>(value);
return true;
}
- if (name == PropertyName.PropertyVector3Array) {
- this.PropertyVector3Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3[]>(value);
+ if (name == PropertyName.@PropertyVector3Array) {
+ this.@PropertyVector3Array = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Vector3[]>(value);
return true;
}
- if (name == PropertyName.PropertyColorArray) {
- this.PropertyColorArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Color[]>(value);
+ if (name == PropertyName.@PropertyColorArray) {
+ this.@PropertyColorArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Color[]>(value);
return true;
}
- if (name == PropertyName.PropertyGodotObjectOrDerivedArray) {
- this.PropertyGodotObjectOrDerivedArray = global::Godot.NativeInterop.VariantUtils.ConvertToSystemArrayOfGodotObject<global::Godot.GodotObject>(value);
+ if (name == PropertyName.@PropertyGodotObjectOrDerivedArray) {
+ this.@PropertyGodotObjectOrDerivedArray = global::Godot.NativeInterop.VariantUtils.ConvertToSystemArrayOfGodotObject<global::Godot.GodotObject>(value);
return true;
}
- if (name == PropertyName.field_StringNameArray) {
- this.field_StringNameArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName[]>(value);
+ if (name == PropertyName.@field_StringNameArray) {
+ this.@field_StringNameArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName[]>(value);
return true;
}
- if (name == PropertyName.field_NodePathArray) {
- this.field_NodePathArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath[]>(value);
+ if (name == PropertyName.@field_NodePathArray) {
+ this.@field_NodePathArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath[]>(value);
return true;
}
- if (name == PropertyName.field_RidArray) {
- this.field_RidArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rid[]>(value);
+ if (name == PropertyName.@field_RidArray) {
+ this.@field_RidArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rid[]>(value);
return true;
}
- if (name == PropertyName.PropertyVariant) {
- this.PropertyVariant = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Variant>(value);
+ if (name == PropertyName.@PropertyVariant) {
+ this.@PropertyVariant = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Variant>(value);
return true;
}
- if (name == PropertyName.PropertyGodotObjectOrDerived) {
- this.PropertyGodotObjectOrDerived = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.GodotObject>(value);
+ if (name == PropertyName.@PropertyGodotObjectOrDerived) {
+ this.@PropertyGodotObjectOrDerived = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.GodotObject>(value);
return true;
}
- if (name == PropertyName.PropertyGodotResourceTexture) {
- this.PropertyGodotResourceTexture = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Texture>(value);
+ if (name == PropertyName.@PropertyGodotResourceTexture) {
+ this.@PropertyGodotResourceTexture = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Texture>(value);
return true;
}
- if (name == PropertyName.PropertyStringName) {
- this.PropertyStringName = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName>(value);
+ if (name == PropertyName.@PropertyStringName) {
+ this.@PropertyStringName = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName>(value);
return true;
}
- if (name == PropertyName.PropertyNodePath) {
- this.PropertyNodePath = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath>(value);
+ if (name == PropertyName.@PropertyNodePath) {
+ this.@PropertyNodePath = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath>(value);
return true;
}
- if (name == PropertyName.PropertyRid) {
- this.PropertyRid = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rid>(value);
+ if (name == PropertyName.@PropertyRid) {
+ this.@PropertyRid = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Rid>(value);
return true;
}
- if (name == PropertyName.PropertyGodotDictionary) {
- this.PropertyGodotDictionary = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Collections.Dictionary>(value);
+ if (name == PropertyName.@PropertyGodotDictionary) {
+ this.@PropertyGodotDictionary = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Collections.Dictionary>(value);
return true;
}
- if (name == PropertyName.PropertyGodotArray) {
- this.PropertyGodotArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Collections.Array>(value);
+ if (name == PropertyName.@PropertyGodotArray) {
+ this.@PropertyGodotArray = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.Collections.Array>(value);
return true;
}
- if (name == PropertyName.PropertyGodotGenericDictionary) {
- this.PropertyGodotGenericDictionary = global::Godot.NativeInterop.VariantUtils.ConvertToDictionary<string, bool>(value);
+ if (name == PropertyName.@PropertyGodotGenericDictionary) {
+ this.@PropertyGodotGenericDictionary = global::Godot.NativeInterop.VariantUtils.ConvertToDictionary<string, bool>(value);
return true;
}
- if (name == PropertyName.PropertyGodotGenericArray) {
- this.PropertyGodotGenericArray = global::Godot.NativeInterop.VariantUtils.ConvertToArray<int>(value);
+ if (name == PropertyName.@PropertyGodotGenericArray) {
+ this.@PropertyGodotGenericArray = global::Godot.NativeInterop.VariantUtils.ConvertToArray<int>(value);
return true;
}
- if (name == PropertyName._notGeneratePropertyString) {
- this._notGeneratePropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@_notGeneratePropertyString) {
+ this.@_notGeneratePropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName._notGeneratePropertyInt) {
- this._notGeneratePropertyInt = global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(value);
+ if (name == PropertyName.@_notGeneratePropertyInt) {
+ this.@_notGeneratePropertyInt = global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(value);
return true;
}
- if (name == PropertyName._fullPropertyString) {
- this._fullPropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@_fullPropertyString) {
+ this.@_fullPropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName._fullPropertyStringComplex) {
- this._fullPropertyStringComplex = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@_fullPropertyStringComplex) {
+ this.@_fullPropertyStringComplex = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
- if (name == PropertyName._lamdaPropertyString) {
- this._lamdaPropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
+ if (name == PropertyName.@_lamdaPropertyString) {
+ this.@_lamdaPropertyString = global::Godot.NativeInterop.VariantUtils.ConvertTo<string>(value);
return true;
}
return base.SetGodotClassPropertyValue(name, value);
@@ -571,280 +571,280 @@ partial class ExportedProperties
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool GetGodotClassPropertyValue(in godot_string_name name, out godot_variant value)
{
- if (name == PropertyName.NotGenerateComplexLamdaProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.NotGenerateComplexLamdaProperty);
+ if (name == PropertyName.@NotGenerateComplexLamdaProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@NotGenerateComplexLamdaProperty);
return true;
}
- if (name == PropertyName.NotGenerateLamdaNoFieldProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.NotGenerateLamdaNoFieldProperty);
+ if (name == PropertyName.@NotGenerateLamdaNoFieldProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@NotGenerateLamdaNoFieldProperty);
return true;
}
- if (name == PropertyName.NotGenerateComplexReturnProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.NotGenerateComplexReturnProperty);
+ if (name == PropertyName.@NotGenerateComplexReturnProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@NotGenerateComplexReturnProperty);
return true;
}
- if (name == PropertyName.NotGenerateReturnsProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.NotGenerateReturnsProperty);
+ if (name == PropertyName.@NotGenerateReturnsProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@NotGenerateReturnsProperty);
return true;
}
- if (name == PropertyName.FullPropertyString) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.FullPropertyString);
+ if (name == PropertyName.@FullPropertyString) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@FullPropertyString);
return true;
}
- if (name == PropertyName.FullPropertyString_Complex) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.FullPropertyString_Complex);
+ if (name == PropertyName.@FullPropertyString_Complex) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@FullPropertyString_Complex);
return true;
}
- if (name == PropertyName.LamdaPropertyString) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.LamdaPropertyString);
+ if (name == PropertyName.@LamdaPropertyString) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@LamdaPropertyString);
return true;
}
- if (name == PropertyName.PropertyBoolean) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<bool>(this.PropertyBoolean);
+ if (name == PropertyName.@PropertyBoolean) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<bool>(this.@PropertyBoolean);
return true;
}
- if (name == PropertyName.PropertyChar) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<char>(this.PropertyChar);
+ if (name == PropertyName.@PropertyChar) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<char>(this.@PropertyChar);
return true;
}
- if (name == PropertyName.PropertySByte) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<sbyte>(this.PropertySByte);
+ if (name == PropertyName.@PropertySByte) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<sbyte>(this.@PropertySByte);
return true;
}
- if (name == PropertyName.PropertyInt16) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<short>(this.PropertyInt16);
+ if (name == PropertyName.@PropertyInt16) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<short>(this.@PropertyInt16);
return true;
}
- if (name == PropertyName.PropertyInt32) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(this.PropertyInt32);
+ if (name == PropertyName.@PropertyInt32) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(this.@PropertyInt32);
return true;
}
- if (name == PropertyName.PropertyInt64) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long>(this.PropertyInt64);
+ if (name == PropertyName.@PropertyInt64) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long>(this.@PropertyInt64);
return true;
}
- if (name == PropertyName.PropertyByte) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<byte>(this.PropertyByte);
+ if (name == PropertyName.@PropertyByte) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<byte>(this.@PropertyByte);
return true;
}
- if (name == PropertyName.PropertyUInt16) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<ushort>(this.PropertyUInt16);
+ if (name == PropertyName.@PropertyUInt16) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<ushort>(this.@PropertyUInt16);
return true;
}
- if (name == PropertyName.PropertyUInt32) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<uint>(this.PropertyUInt32);
+ if (name == PropertyName.@PropertyUInt32) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<uint>(this.@PropertyUInt32);
return true;
}
- if (name == PropertyName.PropertyUInt64) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<ulong>(this.PropertyUInt64);
+ if (name == PropertyName.@PropertyUInt64) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<ulong>(this.@PropertyUInt64);
return true;
}
- if (name == PropertyName.PropertySingle) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<float>(this.PropertySingle);
+ if (name == PropertyName.@PropertySingle) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<float>(this.@PropertySingle);
return true;
}
- if (name == PropertyName.PropertyDouble) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<double>(this.PropertyDouble);
+ if (name == PropertyName.@PropertyDouble) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<double>(this.@PropertyDouble);
return true;
}
- if (name == PropertyName.PropertyString) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.PropertyString);
+ if (name == PropertyName.@PropertyString) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@PropertyString);
return true;
}
- if (name == PropertyName.PropertyVector2) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2>(this.PropertyVector2);
+ if (name == PropertyName.@PropertyVector2) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2>(this.@PropertyVector2);
return true;
}
- if (name == PropertyName.PropertyVector2I) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2I>(this.PropertyVector2I);
+ if (name == PropertyName.@PropertyVector2I) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2I>(this.@PropertyVector2I);
return true;
}
- if (name == PropertyName.PropertyRect2) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rect2>(this.PropertyRect2);
+ if (name == PropertyName.@PropertyRect2) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rect2>(this.@PropertyRect2);
return true;
}
- if (name == PropertyName.PropertyRect2I) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rect2I>(this.PropertyRect2I);
+ if (name == PropertyName.@PropertyRect2I) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rect2I>(this.@PropertyRect2I);
return true;
}
- if (name == PropertyName.PropertyTransform2D) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Transform2D>(this.PropertyTransform2D);
+ if (name == PropertyName.@PropertyTransform2D) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Transform2D>(this.@PropertyTransform2D);
return true;
}
- if (name == PropertyName.PropertyVector3) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3>(this.PropertyVector3);
+ if (name == PropertyName.@PropertyVector3) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3>(this.@PropertyVector3);
return true;
}
- if (name == PropertyName.PropertyVector3I) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3I>(this.PropertyVector3I);
+ if (name == PropertyName.@PropertyVector3I) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3I>(this.@PropertyVector3I);
return true;
}
- if (name == PropertyName.PropertyBasis) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Basis>(this.PropertyBasis);
+ if (name == PropertyName.@PropertyBasis) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Basis>(this.@PropertyBasis);
return true;
}
- if (name == PropertyName.PropertyQuaternion) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Quaternion>(this.PropertyQuaternion);
+ if (name == PropertyName.@PropertyQuaternion) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Quaternion>(this.@PropertyQuaternion);
return true;
}
- if (name == PropertyName.PropertyTransform3D) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Transform3D>(this.PropertyTransform3D);
+ if (name == PropertyName.@PropertyTransform3D) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Transform3D>(this.@PropertyTransform3D);
return true;
}
- if (name == PropertyName.PropertyVector4) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector4>(this.PropertyVector4);
+ if (name == PropertyName.@PropertyVector4) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector4>(this.@PropertyVector4);
return true;
}
- if (name == PropertyName.PropertyVector4I) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector4I>(this.PropertyVector4I);
+ if (name == PropertyName.@PropertyVector4I) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector4I>(this.@PropertyVector4I);
return true;
}
- if (name == PropertyName.PropertyProjection) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Projection>(this.PropertyProjection);
+ if (name == PropertyName.@PropertyProjection) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Projection>(this.@PropertyProjection);
return true;
}
- if (name == PropertyName.PropertyAabb) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Aabb>(this.PropertyAabb);
+ if (name == PropertyName.@PropertyAabb) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Aabb>(this.@PropertyAabb);
return true;
}
- if (name == PropertyName.PropertyColor) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Color>(this.PropertyColor);
+ if (name == PropertyName.@PropertyColor) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Color>(this.@PropertyColor);
return true;
}
- if (name == PropertyName.PropertyPlane) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Plane>(this.PropertyPlane);
+ if (name == PropertyName.@PropertyPlane) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Plane>(this.@PropertyPlane);
return true;
}
- if (name == PropertyName.PropertyCallable) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Callable>(this.PropertyCallable);
+ if (name == PropertyName.@PropertyCallable) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Callable>(this.@PropertyCallable);
return true;
}
- if (name == PropertyName.PropertySignal) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Signal>(this.PropertySignal);
+ if (name == PropertyName.@PropertySignal) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Signal>(this.@PropertySignal);
return true;
}
- if (name == PropertyName.PropertyEnum) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::ExportedProperties.MyEnum>(this.PropertyEnum);
+ if (name == PropertyName.@PropertyEnum) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::ExportedProperties.MyEnum>(this.@PropertyEnum);
return true;
}
- if (name == PropertyName.PropertyFlagsEnum) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::ExportedProperties.MyFlagsEnum>(this.PropertyFlagsEnum);
+ if (name == PropertyName.@PropertyFlagsEnum) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::ExportedProperties.MyFlagsEnum>(this.@PropertyFlagsEnum);
return true;
}
- if (name == PropertyName.PropertyByteArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<byte[]>(this.PropertyByteArray);
+ if (name == PropertyName.@PropertyByteArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<byte[]>(this.@PropertyByteArray);
return true;
}
- if (name == PropertyName.PropertyInt32Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int[]>(this.PropertyInt32Array);
+ if (name == PropertyName.@PropertyInt32Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int[]>(this.@PropertyInt32Array);
return true;
}
- if (name == PropertyName.PropertyInt64Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long[]>(this.PropertyInt64Array);
+ if (name == PropertyName.@PropertyInt64Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<long[]>(this.@PropertyInt64Array);
return true;
}
- if (name == PropertyName.PropertySingleArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<float[]>(this.PropertySingleArray);
+ if (name == PropertyName.@PropertySingleArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<float[]>(this.@PropertySingleArray);
return true;
}
- if (name == PropertyName.PropertyDoubleArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<double[]>(this.PropertyDoubleArray);
+ if (name == PropertyName.@PropertyDoubleArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<double[]>(this.@PropertyDoubleArray);
return true;
}
- if (name == PropertyName.PropertyStringArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string[]>(this.PropertyStringArray);
+ if (name == PropertyName.@PropertyStringArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string[]>(this.@PropertyStringArray);
return true;
}
- if (name == PropertyName.PropertyStringArrayEnum) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string[]>(this.PropertyStringArrayEnum);
+ if (name == PropertyName.@PropertyStringArrayEnum) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string[]>(this.@PropertyStringArrayEnum);
return true;
}
- if (name == PropertyName.PropertyVector2Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2[]>(this.PropertyVector2Array);
+ if (name == PropertyName.@PropertyVector2Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector2[]>(this.@PropertyVector2Array);
return true;
}
- if (name == PropertyName.PropertyVector3Array) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3[]>(this.PropertyVector3Array);
+ if (name == PropertyName.@PropertyVector3Array) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Vector3[]>(this.@PropertyVector3Array);
return true;
}
- if (name == PropertyName.PropertyColorArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Color[]>(this.PropertyColorArray);
+ if (name == PropertyName.@PropertyColorArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Color[]>(this.@PropertyColorArray);
return true;
}
- if (name == PropertyName.PropertyGodotObjectOrDerivedArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFromSystemArrayOfGodotObject(this.PropertyGodotObjectOrDerivedArray);
+ if (name == PropertyName.@PropertyGodotObjectOrDerivedArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFromSystemArrayOfGodotObject(this.@PropertyGodotObjectOrDerivedArray);
return true;
}
- if (name == PropertyName.field_StringNameArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.StringName[]>(this.field_StringNameArray);
+ if (name == PropertyName.@field_StringNameArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.StringName[]>(this.@field_StringNameArray);
return true;
}
- if (name == PropertyName.field_NodePathArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath[]>(this.field_NodePathArray);
+ if (name == PropertyName.@field_NodePathArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath[]>(this.@field_NodePathArray);
return true;
}
- if (name == PropertyName.field_RidArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rid[]>(this.field_RidArray);
+ if (name == PropertyName.@field_RidArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rid[]>(this.@field_RidArray);
return true;
}
- if (name == PropertyName.PropertyVariant) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Variant>(this.PropertyVariant);
+ if (name == PropertyName.@PropertyVariant) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Variant>(this.@PropertyVariant);
return true;
}
- if (name == PropertyName.PropertyGodotObjectOrDerived) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.GodotObject>(this.PropertyGodotObjectOrDerived);
+ if (name == PropertyName.@PropertyGodotObjectOrDerived) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.GodotObject>(this.@PropertyGodotObjectOrDerived);
return true;
}
- if (name == PropertyName.PropertyGodotResourceTexture) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Texture>(this.PropertyGodotResourceTexture);
+ if (name == PropertyName.@PropertyGodotResourceTexture) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Texture>(this.@PropertyGodotResourceTexture);
return true;
}
- if (name == PropertyName.PropertyStringName) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.StringName>(this.PropertyStringName);
+ if (name == PropertyName.@PropertyStringName) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.StringName>(this.@PropertyStringName);
return true;
}
- if (name == PropertyName.PropertyNodePath) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath>(this.PropertyNodePath);
+ if (name == PropertyName.@PropertyNodePath) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath>(this.@PropertyNodePath);
return true;
}
- if (name == PropertyName.PropertyRid) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rid>(this.PropertyRid);
+ if (name == PropertyName.@PropertyRid) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Rid>(this.@PropertyRid);
return true;
}
- if (name == PropertyName.PropertyGodotDictionary) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Collections.Dictionary>(this.PropertyGodotDictionary);
+ if (name == PropertyName.@PropertyGodotDictionary) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Collections.Dictionary>(this.@PropertyGodotDictionary);
return true;
}
- if (name == PropertyName.PropertyGodotArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Collections.Array>(this.PropertyGodotArray);
+ if (name == PropertyName.@PropertyGodotArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Collections.Array>(this.@PropertyGodotArray);
return true;
}
- if (name == PropertyName.PropertyGodotGenericDictionary) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFromDictionary(this.PropertyGodotGenericDictionary);
+ if (name == PropertyName.@PropertyGodotGenericDictionary) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFromDictionary(this.@PropertyGodotGenericDictionary);
return true;
}
- if (name == PropertyName.PropertyGodotGenericArray) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFromArray(this.PropertyGodotGenericArray);
+ if (name == PropertyName.@PropertyGodotGenericArray) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFromArray(this.@PropertyGodotGenericArray);
return true;
}
- if (name == PropertyName._notGeneratePropertyString) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this._notGeneratePropertyString);
+ if (name == PropertyName.@_notGeneratePropertyString) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@_notGeneratePropertyString);
return true;
}
- if (name == PropertyName._notGeneratePropertyInt) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(this._notGeneratePropertyInt);
+ if (name == PropertyName.@_notGeneratePropertyInt) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(this.@_notGeneratePropertyInt);
return true;
}
- if (name == PropertyName._fullPropertyString) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this._fullPropertyString);
+ if (name == PropertyName.@_fullPropertyString) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@_fullPropertyString);
return true;
}
- if (name == PropertyName._fullPropertyStringComplex) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this._fullPropertyStringComplex);
+ if (name == PropertyName.@_fullPropertyStringComplex) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@_fullPropertyStringComplex);
return true;
}
- if (name == PropertyName._lamdaPropertyString) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this._lamdaPropertyString);
+ if (name == PropertyName.@_lamdaPropertyString) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@_lamdaPropertyString);
return true;
}
return base.GetGodotClassPropertyValue(name, out value);
@@ -858,75 +858,75 @@ partial class ExportedProperties
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo> GetGodotPropertyList()
{
var properties = new global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo>();
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName._notGeneratePropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.NotGenerateComplexLamdaProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.NotGenerateLamdaNoFieldProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.NotGenerateComplexReturnProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._notGeneratePropertyInt, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.NotGenerateReturnsProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName._fullPropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.FullPropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName._fullPropertyStringComplex, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.FullPropertyString_Complex, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName._lamdaPropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.LamdaPropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.PropertyBoolean, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyChar, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertySByte, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyInt16, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyInt32, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyInt64, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyByte, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyUInt16, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyUInt32, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyUInt64, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)3, name: PropertyName.PropertySingle, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)3, name: PropertyName.PropertyDouble, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.PropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)5, name: PropertyName.PropertyVector2, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)6, name: PropertyName.PropertyVector2I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)7, name: PropertyName.PropertyRect2, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)8, name: PropertyName.PropertyRect2I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)11, name: PropertyName.PropertyTransform2D, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)9, name: PropertyName.PropertyVector3, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)10, name: PropertyName.PropertyVector3I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)17, name: PropertyName.PropertyBasis, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)15, name: PropertyName.PropertyQuaternion, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)18, name: PropertyName.PropertyTransform3D, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)12, name: PropertyName.PropertyVector4, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)13, name: PropertyName.PropertyVector4I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)19, name: PropertyName.PropertyProjection, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)16, name: PropertyName.PropertyAabb, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)20, name: PropertyName.PropertyColor, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)14, name: PropertyName.PropertyPlane, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)25, name: PropertyName.PropertyCallable, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)26, name: PropertyName.PropertySignal, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyEnum, hint: (global::Godot.PropertyHint)2, hintString: "A,B,C", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.PropertyFlagsEnum, hint: (global::Godot.PropertyHint)6, hintString: "A:0,B:1,C:2", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)29, name: PropertyName.PropertyByteArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)30, name: PropertyName.PropertyInt32Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)31, name: PropertyName.PropertyInt64Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)32, name: PropertyName.PropertySingleArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)33, name: PropertyName.PropertyDoubleArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)34, name: PropertyName.PropertyStringArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)34, name: PropertyName.PropertyStringArrayEnum, hint: (global::Godot.PropertyHint)23, hintString: "4/2:A,B,C", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)35, name: PropertyName.PropertyVector2Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)36, name: PropertyName.PropertyVector3Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)37, name: PropertyName.PropertyColorArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.PropertyGodotObjectOrDerivedArray, hint: (global::Godot.PropertyHint)23, hintString: "24/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.field_StringNameArray, hint: (global::Godot.PropertyHint)23, hintString: "21/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.field_NodePathArray, hint: (global::Godot.PropertyHint)23, hintString: "22/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.field_RidArray, hint: (global::Godot.PropertyHint)23, hintString: "23/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)0, name: PropertyName.PropertyVariant, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)135174, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)24, name: PropertyName.PropertyGodotObjectOrDerived, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)24, name: PropertyName.PropertyGodotResourceTexture, hint: (global::Godot.PropertyHint)17, hintString: "Texture", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)21, name: PropertyName.PropertyStringName, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)22, name: PropertyName.PropertyNodePath, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)23, name: PropertyName.PropertyRid, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)27, name: PropertyName.PropertyGodotDictionary, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.PropertyGodotArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)27, name: PropertyName.PropertyGodotGenericDictionary, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
- properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.PropertyGodotGenericArray, hint: (global::Godot.PropertyHint)23, hintString: "2/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@_notGeneratePropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@NotGenerateComplexLamdaProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@NotGenerateLamdaNoFieldProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@NotGenerateComplexReturnProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_notGeneratePropertyInt, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@NotGenerateReturnsProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@_fullPropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@FullPropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@_fullPropertyStringComplex, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@FullPropertyString_Complex, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@_lamdaPropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@LamdaPropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.@PropertyBoolean, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyChar, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertySByte, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyInt16, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyInt32, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyInt64, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyByte, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyUInt16, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyUInt32, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyUInt64, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)3, name: PropertyName.@PropertySingle, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)3, name: PropertyName.@PropertyDouble, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@PropertyString, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)5, name: PropertyName.@PropertyVector2, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)6, name: PropertyName.@PropertyVector2I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)7, name: PropertyName.@PropertyRect2, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)8, name: PropertyName.@PropertyRect2I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)11, name: PropertyName.@PropertyTransform2D, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)9, name: PropertyName.@PropertyVector3, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)10, name: PropertyName.@PropertyVector3I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)17, name: PropertyName.@PropertyBasis, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)15, name: PropertyName.@PropertyQuaternion, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)18, name: PropertyName.@PropertyTransform3D, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)12, name: PropertyName.@PropertyVector4, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)13, name: PropertyName.@PropertyVector4I, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)19, name: PropertyName.@PropertyProjection, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)16, name: PropertyName.@PropertyAabb, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)20, name: PropertyName.@PropertyColor, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)14, name: PropertyName.@PropertyPlane, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)25, name: PropertyName.@PropertyCallable, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)26, name: PropertyName.@PropertySignal, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyEnum, hint: (global::Godot.PropertyHint)2, hintString: "A,B,C", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@PropertyFlagsEnum, hint: (global::Godot.PropertyHint)6, hintString: "A:0,B:1,C:2", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)29, name: PropertyName.@PropertyByteArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)30, name: PropertyName.@PropertyInt32Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)31, name: PropertyName.@PropertyInt64Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)32, name: PropertyName.@PropertySingleArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)33, name: PropertyName.@PropertyDoubleArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)34, name: PropertyName.@PropertyStringArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)34, name: PropertyName.@PropertyStringArrayEnum, hint: (global::Godot.PropertyHint)23, hintString: "4/2:A,B,C", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)35, name: PropertyName.@PropertyVector2Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)36, name: PropertyName.@PropertyVector3Array, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)37, name: PropertyName.@PropertyColorArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@PropertyGodotObjectOrDerivedArray, hint: (global::Godot.PropertyHint)23, hintString: "24/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@field_StringNameArray, hint: (global::Godot.PropertyHint)23, hintString: "21/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@field_NodePathArray, hint: (global::Godot.PropertyHint)23, hintString: "22/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@field_RidArray, hint: (global::Godot.PropertyHint)23, hintString: "23/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)0, name: PropertyName.@PropertyVariant, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)135174, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)24, name: PropertyName.@PropertyGodotObjectOrDerived, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)24, name: PropertyName.@PropertyGodotResourceTexture, hint: (global::Godot.PropertyHint)17, hintString: "Texture", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)21, name: PropertyName.@PropertyStringName, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)22, name: PropertyName.@PropertyNodePath, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)23, name: PropertyName.@PropertyRid, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)27, name: PropertyName.@PropertyGodotDictionary, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@PropertyGodotArray, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)27, name: PropertyName.@PropertyGodotGenericDictionary, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
+ properties.Add(new(type: (global::Godot.Variant.Type)28, name: PropertyName.@PropertyGodotGenericArray, hint: (global::Godot.PropertyHint)23, hintString: "2/0:", usage: (global::Godot.PropertyUsageFlags)4102, exported: true));
return properties;
}
#pragma warning restore CS0109
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptPropertyDefVal.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptPropertyDefVal.generated.cs
index a1b01aed4f..ce154cad8e 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptPropertyDefVal.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ExportedProperties_ScriptPropertyDefVal.generated.cs
@@ -13,133 +13,133 @@ partial class ExportedProperties
{
var values = new global::System.Collections.Generic.Dictionary<global::Godot.StringName, global::Godot.Variant>(64);
string __NotGenerateComplexLamdaProperty_default_value = default;
- values.Add(PropertyName.NotGenerateComplexLamdaProperty, global::Godot.Variant.From<string>(__NotGenerateComplexLamdaProperty_default_value));
+ values.Add(PropertyName.@NotGenerateComplexLamdaProperty, global::Godot.Variant.From<string>(__NotGenerateComplexLamdaProperty_default_value));
string __NotGenerateLamdaNoFieldProperty_default_value = default;
- values.Add(PropertyName.NotGenerateLamdaNoFieldProperty, global::Godot.Variant.From<string>(__NotGenerateLamdaNoFieldProperty_default_value));
+ values.Add(PropertyName.@NotGenerateLamdaNoFieldProperty, global::Godot.Variant.From<string>(__NotGenerateLamdaNoFieldProperty_default_value));
string __NotGenerateComplexReturnProperty_default_value = default;
- values.Add(PropertyName.NotGenerateComplexReturnProperty, global::Godot.Variant.From<string>(__NotGenerateComplexReturnProperty_default_value));
+ values.Add(PropertyName.@NotGenerateComplexReturnProperty, global::Godot.Variant.From<string>(__NotGenerateComplexReturnProperty_default_value));
string __NotGenerateReturnsProperty_default_value = default;
- values.Add(PropertyName.NotGenerateReturnsProperty, global::Godot.Variant.From<string>(__NotGenerateReturnsProperty_default_value));
+ values.Add(PropertyName.@NotGenerateReturnsProperty, global::Godot.Variant.From<string>(__NotGenerateReturnsProperty_default_value));
string __FullPropertyString_default_value = "FullPropertyString";
- values.Add(PropertyName.FullPropertyString, global::Godot.Variant.From<string>(__FullPropertyString_default_value));
+ values.Add(PropertyName.@FullPropertyString, global::Godot.Variant.From<string>(__FullPropertyString_default_value));
string __FullPropertyString_Complex_default_value = new string("FullPropertyString_Complex") + global::System.Convert.ToInt32("1");
- values.Add(PropertyName.FullPropertyString_Complex, global::Godot.Variant.From<string>(__FullPropertyString_Complex_default_value));
+ values.Add(PropertyName.@FullPropertyString_Complex, global::Godot.Variant.From<string>(__FullPropertyString_Complex_default_value));
string __LamdaPropertyString_default_value = "LamdaPropertyString";
- values.Add(PropertyName.LamdaPropertyString, global::Godot.Variant.From<string>(__LamdaPropertyString_default_value));
+ values.Add(PropertyName.@LamdaPropertyString, global::Godot.Variant.From<string>(__LamdaPropertyString_default_value));
bool __PropertyBoolean_default_value = true;
- values.Add(PropertyName.PropertyBoolean, global::Godot.Variant.From<bool>(__PropertyBoolean_default_value));
+ values.Add(PropertyName.@PropertyBoolean, global::Godot.Variant.From<bool>(__PropertyBoolean_default_value));
char __PropertyChar_default_value = 'f';
- values.Add(PropertyName.PropertyChar, global::Godot.Variant.From<char>(__PropertyChar_default_value));
+ values.Add(PropertyName.@PropertyChar, global::Godot.Variant.From<char>(__PropertyChar_default_value));
sbyte __PropertySByte_default_value = 10;
- values.Add(PropertyName.PropertySByte, global::Godot.Variant.From<sbyte>(__PropertySByte_default_value));
+ values.Add(PropertyName.@PropertySByte, global::Godot.Variant.From<sbyte>(__PropertySByte_default_value));
short __PropertyInt16_default_value = 10;
- values.Add(PropertyName.PropertyInt16, global::Godot.Variant.From<short>(__PropertyInt16_default_value));
+ values.Add(PropertyName.@PropertyInt16, global::Godot.Variant.From<short>(__PropertyInt16_default_value));
int __PropertyInt32_default_value = 10;
- values.Add(PropertyName.PropertyInt32, global::Godot.Variant.From<int>(__PropertyInt32_default_value));
+ values.Add(PropertyName.@PropertyInt32, global::Godot.Variant.From<int>(__PropertyInt32_default_value));
long __PropertyInt64_default_value = 10;
- values.Add(PropertyName.PropertyInt64, global::Godot.Variant.From<long>(__PropertyInt64_default_value));
+ values.Add(PropertyName.@PropertyInt64, global::Godot.Variant.From<long>(__PropertyInt64_default_value));
byte __PropertyByte_default_value = 10;
- values.Add(PropertyName.PropertyByte, global::Godot.Variant.From<byte>(__PropertyByte_default_value));
+ values.Add(PropertyName.@PropertyByte, global::Godot.Variant.From<byte>(__PropertyByte_default_value));
ushort __PropertyUInt16_default_value = 10;
- values.Add(PropertyName.PropertyUInt16, global::Godot.Variant.From<ushort>(__PropertyUInt16_default_value));
+ values.Add(PropertyName.@PropertyUInt16, global::Godot.Variant.From<ushort>(__PropertyUInt16_default_value));
uint __PropertyUInt32_default_value = 10;
- values.Add(PropertyName.PropertyUInt32, global::Godot.Variant.From<uint>(__PropertyUInt32_default_value));
+ values.Add(PropertyName.@PropertyUInt32, global::Godot.Variant.From<uint>(__PropertyUInt32_default_value));
ulong __PropertyUInt64_default_value = 10;
- values.Add(PropertyName.PropertyUInt64, global::Godot.Variant.From<ulong>(__PropertyUInt64_default_value));
+ values.Add(PropertyName.@PropertyUInt64, global::Godot.Variant.From<ulong>(__PropertyUInt64_default_value));
float __PropertySingle_default_value = 10;
- values.Add(PropertyName.PropertySingle, global::Godot.Variant.From<float>(__PropertySingle_default_value));
+ values.Add(PropertyName.@PropertySingle, global::Godot.Variant.From<float>(__PropertySingle_default_value));
double __PropertyDouble_default_value = 10;
- values.Add(PropertyName.PropertyDouble, global::Godot.Variant.From<double>(__PropertyDouble_default_value));
+ values.Add(PropertyName.@PropertyDouble, global::Godot.Variant.From<double>(__PropertyDouble_default_value));
string __PropertyString_default_value = "foo";
- values.Add(PropertyName.PropertyString, global::Godot.Variant.From<string>(__PropertyString_default_value));
+ values.Add(PropertyName.@PropertyString, global::Godot.Variant.From<string>(__PropertyString_default_value));
global::Godot.Vector2 __PropertyVector2_default_value = new(10f, 10f);
- values.Add(PropertyName.PropertyVector2, global::Godot.Variant.From<global::Godot.Vector2>(__PropertyVector2_default_value));
+ values.Add(PropertyName.@PropertyVector2, global::Godot.Variant.From<global::Godot.Vector2>(__PropertyVector2_default_value));
global::Godot.Vector2I __PropertyVector2I_default_value = global::Godot.Vector2I.Up;
- values.Add(PropertyName.PropertyVector2I, global::Godot.Variant.From<global::Godot.Vector2I>(__PropertyVector2I_default_value));
+ values.Add(PropertyName.@PropertyVector2I, global::Godot.Variant.From<global::Godot.Vector2I>(__PropertyVector2I_default_value));
global::Godot.Rect2 __PropertyRect2_default_value = new(new global::Godot.Vector2(10f, 10f), new global::Godot.Vector2(10f, 10f));
- values.Add(PropertyName.PropertyRect2, global::Godot.Variant.From<global::Godot.Rect2>(__PropertyRect2_default_value));
+ values.Add(PropertyName.@PropertyRect2, global::Godot.Variant.From<global::Godot.Rect2>(__PropertyRect2_default_value));
global::Godot.Rect2I __PropertyRect2I_default_value = new(new global::Godot.Vector2I(10, 10), new global::Godot.Vector2I(10, 10));
- values.Add(PropertyName.PropertyRect2I, global::Godot.Variant.From<global::Godot.Rect2I>(__PropertyRect2I_default_value));
+ values.Add(PropertyName.@PropertyRect2I, global::Godot.Variant.From<global::Godot.Rect2I>(__PropertyRect2I_default_value));
global::Godot.Transform2D __PropertyTransform2D_default_value = global::Godot.Transform2D.Identity;
- values.Add(PropertyName.PropertyTransform2D, global::Godot.Variant.From<global::Godot.Transform2D>(__PropertyTransform2D_default_value));
+ values.Add(PropertyName.@PropertyTransform2D, global::Godot.Variant.From<global::Godot.Transform2D>(__PropertyTransform2D_default_value));
global::Godot.Vector3 __PropertyVector3_default_value = new(10f, 10f, 10f);
- values.Add(PropertyName.PropertyVector3, global::Godot.Variant.From<global::Godot.Vector3>(__PropertyVector3_default_value));
+ values.Add(PropertyName.@PropertyVector3, global::Godot.Variant.From<global::Godot.Vector3>(__PropertyVector3_default_value));
global::Godot.Vector3I __PropertyVector3I_default_value = global::Godot.Vector3I.Back;
- values.Add(PropertyName.PropertyVector3I, global::Godot.Variant.From<global::Godot.Vector3I>(__PropertyVector3I_default_value));
+ values.Add(PropertyName.@PropertyVector3I, global::Godot.Variant.From<global::Godot.Vector3I>(__PropertyVector3I_default_value));
global::Godot.Basis __PropertyBasis_default_value = new global::Godot.Basis(global::Godot.Quaternion.Identity);
- values.Add(PropertyName.PropertyBasis, global::Godot.Variant.From<global::Godot.Basis>(__PropertyBasis_default_value));
+ values.Add(PropertyName.@PropertyBasis, global::Godot.Variant.From<global::Godot.Basis>(__PropertyBasis_default_value));
global::Godot.Quaternion __PropertyQuaternion_default_value = new global::Godot.Quaternion(global::Godot.Basis.Identity);
- values.Add(PropertyName.PropertyQuaternion, global::Godot.Variant.From<global::Godot.Quaternion>(__PropertyQuaternion_default_value));
+ values.Add(PropertyName.@PropertyQuaternion, global::Godot.Variant.From<global::Godot.Quaternion>(__PropertyQuaternion_default_value));
global::Godot.Transform3D __PropertyTransform3D_default_value = global::Godot.Transform3D.Identity;
- values.Add(PropertyName.PropertyTransform3D, global::Godot.Variant.From<global::Godot.Transform3D>(__PropertyTransform3D_default_value));
+ values.Add(PropertyName.@PropertyTransform3D, global::Godot.Variant.From<global::Godot.Transform3D>(__PropertyTransform3D_default_value));
global::Godot.Vector4 __PropertyVector4_default_value = new(10f, 10f, 10f, 10f);
- values.Add(PropertyName.PropertyVector4, global::Godot.Variant.From<global::Godot.Vector4>(__PropertyVector4_default_value));
+ values.Add(PropertyName.@PropertyVector4, global::Godot.Variant.From<global::Godot.Vector4>(__PropertyVector4_default_value));
global::Godot.Vector4I __PropertyVector4I_default_value = global::Godot.Vector4I.One;
- values.Add(PropertyName.PropertyVector4I, global::Godot.Variant.From<global::Godot.Vector4I>(__PropertyVector4I_default_value));
+ values.Add(PropertyName.@PropertyVector4I, global::Godot.Variant.From<global::Godot.Vector4I>(__PropertyVector4I_default_value));
global::Godot.Projection __PropertyProjection_default_value = global::Godot.Projection.Identity;
- values.Add(PropertyName.PropertyProjection, global::Godot.Variant.From<global::Godot.Projection>(__PropertyProjection_default_value));
+ values.Add(PropertyName.@PropertyProjection, global::Godot.Variant.From<global::Godot.Projection>(__PropertyProjection_default_value));
global::Godot.Aabb __PropertyAabb_default_value = new global::Godot.Aabb(10f, 10f, 10f, new global::Godot.Vector3(1f, 1f, 1f));
- values.Add(PropertyName.PropertyAabb, global::Godot.Variant.From<global::Godot.Aabb>(__PropertyAabb_default_value));
+ values.Add(PropertyName.@PropertyAabb, global::Godot.Variant.From<global::Godot.Aabb>(__PropertyAabb_default_value));
global::Godot.Color __PropertyColor_default_value = global::Godot.Colors.Aquamarine;
- values.Add(PropertyName.PropertyColor, global::Godot.Variant.From<global::Godot.Color>(__PropertyColor_default_value));
+ values.Add(PropertyName.@PropertyColor, global::Godot.Variant.From<global::Godot.Color>(__PropertyColor_default_value));
global::Godot.Plane __PropertyPlane_default_value = global::Godot.Plane.PlaneXZ;
- values.Add(PropertyName.PropertyPlane, global::Godot.Variant.From<global::Godot.Plane>(__PropertyPlane_default_value));
+ values.Add(PropertyName.@PropertyPlane, global::Godot.Variant.From<global::Godot.Plane>(__PropertyPlane_default_value));
global::Godot.Callable __PropertyCallable_default_value = new global::Godot.Callable(global::Godot.Engine.GetMainLoop(), "_process");
- values.Add(PropertyName.PropertyCallable, global::Godot.Variant.From<global::Godot.Callable>(__PropertyCallable_default_value));
+ values.Add(PropertyName.@PropertyCallable, global::Godot.Variant.From<global::Godot.Callable>(__PropertyCallable_default_value));
global::Godot.Signal __PropertySignal_default_value = new global::Godot.Signal(global::Godot.Engine.GetMainLoop(), "Propertylist_changed");
- values.Add(PropertyName.PropertySignal, global::Godot.Variant.From<global::Godot.Signal>(__PropertySignal_default_value));
+ values.Add(PropertyName.@PropertySignal, global::Godot.Variant.From<global::Godot.Signal>(__PropertySignal_default_value));
global::ExportedProperties.MyEnum __PropertyEnum_default_value = global::ExportedProperties.MyEnum.C;
- values.Add(PropertyName.PropertyEnum, global::Godot.Variant.From<global::ExportedProperties.MyEnum>(__PropertyEnum_default_value));
+ values.Add(PropertyName.@PropertyEnum, global::Godot.Variant.From<global::ExportedProperties.MyEnum>(__PropertyEnum_default_value));
global::ExportedProperties.MyFlagsEnum __PropertyFlagsEnum_default_value = global::ExportedProperties.MyFlagsEnum.C;
- values.Add(PropertyName.PropertyFlagsEnum, global::Godot.Variant.From<global::ExportedProperties.MyFlagsEnum>(__PropertyFlagsEnum_default_value));
+ values.Add(PropertyName.@PropertyFlagsEnum, global::Godot.Variant.From<global::ExportedProperties.MyFlagsEnum>(__PropertyFlagsEnum_default_value));
byte[] __PropertyByteArray_default_value = { 0, 1, 2, 3, 4, 5, 6 };
- values.Add(PropertyName.PropertyByteArray, global::Godot.Variant.From<byte[]>(__PropertyByteArray_default_value));
+ values.Add(PropertyName.@PropertyByteArray, global::Godot.Variant.From<byte[]>(__PropertyByteArray_default_value));
int[] __PropertyInt32Array_default_value = { 0, 1, 2, 3, 4, 5, 6 };
- values.Add(PropertyName.PropertyInt32Array, global::Godot.Variant.From<int[]>(__PropertyInt32Array_default_value));
+ values.Add(PropertyName.@PropertyInt32Array, global::Godot.Variant.From<int[]>(__PropertyInt32Array_default_value));
long[] __PropertyInt64Array_default_value = { 0, 1, 2, 3, 4, 5, 6 };
- values.Add(PropertyName.PropertyInt64Array, global::Godot.Variant.From<long[]>(__PropertyInt64Array_default_value));
+ values.Add(PropertyName.@PropertyInt64Array, global::Godot.Variant.From<long[]>(__PropertyInt64Array_default_value));
float[] __PropertySingleArray_default_value = { 0f, 1f, 2f, 3f, 4f, 5f, 6f };
- values.Add(PropertyName.PropertySingleArray, global::Godot.Variant.From<float[]>(__PropertySingleArray_default_value));
+ values.Add(PropertyName.@PropertySingleArray, global::Godot.Variant.From<float[]>(__PropertySingleArray_default_value));
double[] __PropertyDoubleArray_default_value = { 0d, 1d, 2d, 3d, 4d, 5d, 6d };
- values.Add(PropertyName.PropertyDoubleArray, global::Godot.Variant.From<double[]>(__PropertyDoubleArray_default_value));
+ values.Add(PropertyName.@PropertyDoubleArray, global::Godot.Variant.From<double[]>(__PropertyDoubleArray_default_value));
string[] __PropertyStringArray_default_value = { "foo", "bar" };
- values.Add(PropertyName.PropertyStringArray, global::Godot.Variant.From<string[]>(__PropertyStringArray_default_value));
+ values.Add(PropertyName.@PropertyStringArray, global::Godot.Variant.From<string[]>(__PropertyStringArray_default_value));
string[] __PropertyStringArrayEnum_default_value = { "foo", "bar" };
- values.Add(PropertyName.PropertyStringArrayEnum, global::Godot.Variant.From<string[]>(__PropertyStringArrayEnum_default_value));
+ values.Add(PropertyName.@PropertyStringArrayEnum, global::Godot.Variant.From<string[]>(__PropertyStringArrayEnum_default_value));
global::Godot.Vector2[] __PropertyVector2Array_default_value = { global::Godot.Vector2.Up, global::Godot.Vector2.Down, global::Godot.Vector2.Left, global::Godot.Vector2.Right };
- values.Add(PropertyName.PropertyVector2Array, global::Godot.Variant.From<global::Godot.Vector2[]>(__PropertyVector2Array_default_value));
+ values.Add(PropertyName.@PropertyVector2Array, global::Godot.Variant.From<global::Godot.Vector2[]>(__PropertyVector2Array_default_value));
global::Godot.Vector3[] __PropertyVector3Array_default_value = { global::Godot.Vector3.Up, global::Godot.Vector3.Down, global::Godot.Vector3.Left, global::Godot.Vector3.Right };
- values.Add(PropertyName.PropertyVector3Array, global::Godot.Variant.From<global::Godot.Vector3[]>(__PropertyVector3Array_default_value));
+ values.Add(PropertyName.@PropertyVector3Array, global::Godot.Variant.From<global::Godot.Vector3[]>(__PropertyVector3Array_default_value));
global::Godot.Color[] __PropertyColorArray_default_value = { global::Godot.Colors.Aqua, global::Godot.Colors.Aquamarine, global::Godot.Colors.Azure, global::Godot.Colors.Beige };
- values.Add(PropertyName.PropertyColorArray, global::Godot.Variant.From<global::Godot.Color[]>(__PropertyColorArray_default_value));
+ values.Add(PropertyName.@PropertyColorArray, global::Godot.Variant.From<global::Godot.Color[]>(__PropertyColorArray_default_value));
global::Godot.GodotObject[] __PropertyGodotObjectOrDerivedArray_default_value = { null };
- values.Add(PropertyName.PropertyGodotObjectOrDerivedArray, global::Godot.Variant.CreateFrom(__PropertyGodotObjectOrDerivedArray_default_value));
+ values.Add(PropertyName.@PropertyGodotObjectOrDerivedArray, global::Godot.Variant.CreateFrom(__PropertyGodotObjectOrDerivedArray_default_value));
global::Godot.StringName[] __field_StringNameArray_default_value = { "foo", "bar" };
- values.Add(PropertyName.field_StringNameArray, global::Godot.Variant.From<global::Godot.StringName[]>(__field_StringNameArray_default_value));
+ values.Add(PropertyName.@field_StringNameArray, global::Godot.Variant.From<global::Godot.StringName[]>(__field_StringNameArray_default_value));
global::Godot.NodePath[] __field_NodePathArray_default_value = { "foo", "bar" };
- values.Add(PropertyName.field_NodePathArray, global::Godot.Variant.From<global::Godot.NodePath[]>(__field_NodePathArray_default_value));
+ values.Add(PropertyName.@field_NodePathArray, global::Godot.Variant.From<global::Godot.NodePath[]>(__field_NodePathArray_default_value));
global::Godot.Rid[] __field_RidArray_default_value = { default, default, default };
- values.Add(PropertyName.field_RidArray, global::Godot.Variant.From<global::Godot.Rid[]>(__field_RidArray_default_value));
+ values.Add(PropertyName.@field_RidArray, global::Godot.Variant.From<global::Godot.Rid[]>(__field_RidArray_default_value));
global::Godot.Variant __PropertyVariant_default_value = "foo";
- values.Add(PropertyName.PropertyVariant, global::Godot.Variant.From<global::Godot.Variant>(__PropertyVariant_default_value));
+ values.Add(PropertyName.@PropertyVariant, global::Godot.Variant.From<global::Godot.Variant>(__PropertyVariant_default_value));
global::Godot.GodotObject __PropertyGodotObjectOrDerived_default_value = default;
- values.Add(PropertyName.PropertyGodotObjectOrDerived, global::Godot.Variant.From<global::Godot.GodotObject>(__PropertyGodotObjectOrDerived_default_value));
+ values.Add(PropertyName.@PropertyGodotObjectOrDerived, global::Godot.Variant.From<global::Godot.GodotObject>(__PropertyGodotObjectOrDerived_default_value));
global::Godot.Texture __PropertyGodotResourceTexture_default_value = default;
- values.Add(PropertyName.PropertyGodotResourceTexture, global::Godot.Variant.From<global::Godot.Texture>(__PropertyGodotResourceTexture_default_value));
+ values.Add(PropertyName.@PropertyGodotResourceTexture, global::Godot.Variant.From<global::Godot.Texture>(__PropertyGodotResourceTexture_default_value));
global::Godot.StringName __PropertyStringName_default_value = new global::Godot.StringName("foo");
- values.Add(PropertyName.PropertyStringName, global::Godot.Variant.From<global::Godot.StringName>(__PropertyStringName_default_value));
+ values.Add(PropertyName.@PropertyStringName, global::Godot.Variant.From<global::Godot.StringName>(__PropertyStringName_default_value));
global::Godot.NodePath __PropertyNodePath_default_value = new global::Godot.NodePath("foo");
- values.Add(PropertyName.PropertyNodePath, global::Godot.Variant.From<global::Godot.NodePath>(__PropertyNodePath_default_value));
+ values.Add(PropertyName.@PropertyNodePath, global::Godot.Variant.From<global::Godot.NodePath>(__PropertyNodePath_default_value));
global::Godot.Rid __PropertyRid_default_value = default;
- values.Add(PropertyName.PropertyRid, global::Godot.Variant.From<global::Godot.Rid>(__PropertyRid_default_value));
+ values.Add(PropertyName.@PropertyRid, global::Godot.Variant.From<global::Godot.Rid>(__PropertyRid_default_value));
global::Godot.Collections.Dictionary __PropertyGodotDictionary_default_value = new() { { "foo", 10 }, { global::Godot.Vector2.Up, global::Godot.Colors.Chocolate } };
- values.Add(PropertyName.PropertyGodotDictionary, global::Godot.Variant.From<global::Godot.Collections.Dictionary>(__PropertyGodotDictionary_default_value));
+ values.Add(PropertyName.@PropertyGodotDictionary, global::Godot.Variant.From<global::Godot.Collections.Dictionary>(__PropertyGodotDictionary_default_value));
global::Godot.Collections.Array __PropertyGodotArray_default_value = new() { "foo", 10, global::Godot.Vector2.Up, global::Godot.Colors.Chocolate };
- values.Add(PropertyName.PropertyGodotArray, global::Godot.Variant.From<global::Godot.Collections.Array>(__PropertyGodotArray_default_value));
+ values.Add(PropertyName.@PropertyGodotArray, global::Godot.Variant.From<global::Godot.Collections.Array>(__PropertyGodotArray_default_value));
global::Godot.Collections.Dictionary<string, bool> __PropertyGodotGenericDictionary_default_value = new() { { "foo", true }, { "bar", false } };
- values.Add(PropertyName.PropertyGodotGenericDictionary, global::Godot.Variant.CreateFrom(__PropertyGodotGenericDictionary_default_value));
+ values.Add(PropertyName.@PropertyGodotGenericDictionary, global::Godot.Variant.CreateFrom(__PropertyGodotGenericDictionary_default_value));
global::Godot.Collections.Array<int> __PropertyGodotGenericArray_default_value = new() { 0, 1, 2, 3, 4, 5, 6 };
- values.Add(PropertyName.PropertyGodotGenericArray, global::Godot.Variant.CreateFrom(__PropertyGodotGenericArray_default_value));
+ values.Add(PropertyName.@PropertyGodotGenericArray, global::Godot.Variant.CreateFrom(__PropertyGodotGenericArray_default_value));
return values;
}
#endif // TOOLS
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/Methods_ScriptMethods.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/Methods_ScriptMethods.generated.cs
index f757497618..fe54e2cb70 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/Methods_ScriptMethods.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/Methods_ScriptMethods.generated.cs
@@ -11,7 +11,7 @@ partial class Methods
/// <summary>
/// Cached name for the 'MethodWithOverload' method.
/// </summary>
- public new static readonly global::Godot.StringName MethodWithOverload = "MethodWithOverload";
+ public new static readonly global::Godot.StringName @MethodWithOverload = "MethodWithOverload";
}
/// <summary>
/// Get the method information for all the methods declared in this class.
@@ -22,9 +22,9 @@ partial class Methods
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.MethodInfo> GetGodotMethodList()
{
var methods = new global::System.Collections.Generic.List<global::Godot.Bridge.MethodInfo>(3);
- methods.Add(new(name: MethodName.MethodWithOverload, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: null, defaultArguments: null));
- methods.Add(new(name: MethodName.MethodWithOverload, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)2, name: "a", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
- methods.Add(new(name: MethodName.MethodWithOverload, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)2, name: "a", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), new(type: (global::Godot.Variant.Type)2, name: "b", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
+ methods.Add(new(name: MethodName.@MethodWithOverload, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: null, defaultArguments: null));
+ methods.Add(new(name: MethodName.@MethodWithOverload, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)2, name: "a", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
+ methods.Add(new(name: MethodName.@MethodWithOverload, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)2, name: "a", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), new(type: (global::Godot.Variant.Type)2, name: "b", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
return methods;
}
#pragma warning restore CS0109
@@ -32,18 +32,18 @@ partial class Methods
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)
{
- if (method == MethodName.MethodWithOverload && args.Count == 0) {
- MethodWithOverload();
+ if (method == MethodName.@MethodWithOverload && args.Count == 0) {
+ @MethodWithOverload();
ret = default;
return true;
}
- if (method == MethodName.MethodWithOverload && args.Count == 1) {
- MethodWithOverload(global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(args[0]));
+ if (method == MethodName.@MethodWithOverload && args.Count == 1) {
+ @MethodWithOverload(global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(args[0]));
ret = default;
return true;
}
- if (method == MethodName.MethodWithOverload && args.Count == 2) {
- MethodWithOverload(global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(args[0]), global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(args[1]));
+ if (method == MethodName.@MethodWithOverload && args.Count == 2) {
+ @MethodWithOverload(global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(args[0]), global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(args[1]));
ret = default;
return true;
}
@@ -53,7 +53,7 @@ partial class Methods
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool HasGodotClassMethod(in godot_string_name method)
{
- if (method == MethodName.MethodWithOverload) {
+ if (method == MethodName.@MethodWithOverload) {
return true;
}
return base.HasGodotClassMethod(method);
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/MixedReadOnlyWriteOnly_ScriptProperties.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/MixedReadOnlyWriteOnly_ScriptProperties.generated.cs
index cabdbe8d99..6be6296d3b 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/MixedReadOnlyWriteOnly_ScriptProperties.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/MixedReadOnlyWriteOnly_ScriptProperties.generated.cs
@@ -11,38 +11,38 @@ partial class MixedReadOnlyWriteOnly
/// <summary>
/// Cached name for the 'ReadOnlyAutoProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName ReadOnlyAutoProperty = "ReadOnlyAutoProperty";
+ public new static readonly global::Godot.StringName @ReadOnlyAutoProperty = "ReadOnlyAutoProperty";
/// <summary>
/// Cached name for the 'ReadOnlyProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName ReadOnlyProperty = "ReadOnlyProperty";
+ public new static readonly global::Godot.StringName @ReadOnlyProperty = "ReadOnlyProperty";
/// <summary>
/// Cached name for the 'InitOnlyAutoProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName InitOnlyAutoProperty = "InitOnlyAutoProperty";
+ public new static readonly global::Godot.StringName @InitOnlyAutoProperty = "InitOnlyAutoProperty";
/// <summary>
/// Cached name for the 'WriteOnlyProperty' property.
/// </summary>
- public new static readonly global::Godot.StringName WriteOnlyProperty = "WriteOnlyProperty";
+ public new static readonly global::Godot.StringName @WriteOnlyProperty = "WriteOnlyProperty";
/// <summary>
/// Cached name for the 'ReadOnlyField' field.
/// </summary>
- public new static readonly global::Godot.StringName ReadOnlyField = "ReadOnlyField";
+ public new static readonly global::Godot.StringName @ReadOnlyField = "ReadOnlyField";
/// <summary>
/// Cached name for the '_writeOnlyBackingField' field.
/// </summary>
- public new static readonly global::Godot.StringName _writeOnlyBackingField = "_writeOnlyBackingField";
+ public new static readonly global::Godot.StringName @_writeOnlyBackingField = "_writeOnlyBackingField";
}
/// <inheritdoc/>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool SetGodotClassPropertyValue(in godot_string_name name, in godot_variant value)
{
- if (name == PropertyName.WriteOnlyProperty) {
- this.WriteOnlyProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
+ if (name == PropertyName.@WriteOnlyProperty) {
+ this.@WriteOnlyProperty = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
return true;
}
- if (name == PropertyName._writeOnlyBackingField) {
- this._writeOnlyBackingField = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
+ if (name == PropertyName.@_writeOnlyBackingField) {
+ this.@_writeOnlyBackingField = global::Godot.NativeInterop.VariantUtils.ConvertTo<bool>(value);
return true;
}
return base.SetGodotClassPropertyValue(name, value);
@@ -51,24 +51,24 @@ partial class MixedReadOnlyWriteOnly
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool GetGodotClassPropertyValue(in godot_string_name name, out godot_variant value)
{
- if (name == PropertyName.ReadOnlyAutoProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.ReadOnlyAutoProperty);
+ if (name == PropertyName.@ReadOnlyAutoProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@ReadOnlyAutoProperty);
return true;
}
- if (name == PropertyName.ReadOnlyProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.ReadOnlyProperty);
+ if (name == PropertyName.@ReadOnlyProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@ReadOnlyProperty);
return true;
}
- if (name == PropertyName.InitOnlyAutoProperty) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.InitOnlyAutoProperty);
+ if (name == PropertyName.@InitOnlyAutoProperty) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@InitOnlyAutoProperty);
return true;
}
- if (name == PropertyName.ReadOnlyField) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.ReadOnlyField);
+ if (name == PropertyName.@ReadOnlyField) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<string>(this.@ReadOnlyField);
return true;
}
- if (name == PropertyName._writeOnlyBackingField) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<bool>(this._writeOnlyBackingField);
+ if (name == PropertyName.@_writeOnlyBackingField) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<bool>(this.@_writeOnlyBackingField);
return true;
}
return base.GetGodotClassPropertyValue(name, out value);
@@ -82,12 +82,12 @@ partial class MixedReadOnlyWriteOnly
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo> GetGodotPropertyList()
{
var properties = new global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo>();
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.ReadOnlyField, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.ReadOnlyAutoProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.ReadOnlyProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.InitOnlyAutoProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName._writeOnlyBackingField, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.WriteOnlyProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@ReadOnlyField, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@ReadOnlyAutoProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@ReadOnlyProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)4, name: PropertyName.@InitOnlyAutoProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.@_writeOnlyBackingField, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)1, name: PropertyName.@WriteOnlyProperty, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
return properties;
}
#pragma warning restore CS0109
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/OuterClass.NestedClass_ScriptMethods.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/OuterClass.NestedClass_ScriptMethods.generated.cs
index 328107a237..2cc8f82f73 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/OuterClass.NestedClass_ScriptMethods.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/OuterClass.NestedClass_ScriptMethods.generated.cs
@@ -13,7 +13,7 @@ partial class NestedClass
/// <summary>
/// Cached name for the '_Get' method.
/// </summary>
- public new static readonly global::Godot.StringName _Get = "_Get";
+ public new static readonly global::Godot.StringName @_Get = "_Get";
}
/// <summary>
/// Get the method information for all the methods declared in this class.
@@ -24,7 +24,7 @@ partial class NestedClass
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.MethodInfo> GetGodotMethodList()
{
var methods = new global::System.Collections.Generic.List<global::Godot.Bridge.MethodInfo>(1);
- methods.Add(new(name: MethodName._Get, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)131078, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)21, name: "property", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
+ methods.Add(new(name: MethodName.@_Get, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)131078, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)21, name: "property", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
return methods;
}
#pragma warning restore CS0109
@@ -32,8 +32,8 @@ partial class NestedClass
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)
{
- if (method == MethodName._Get && args.Count == 1) {
- var callRet = _Get(global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName>(args[0]));
+ if (method == MethodName.@_Get && args.Count == 1) {
+ var callRet = @_Get(global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName>(args[0]));
ret = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.Variant>(callRet);
return true;
}
@@ -43,7 +43,7 @@ partial class NestedClass
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool HasGodotClassMethod(in godot_string_name method)
{
- if (method == MethodName._Get) {
+ if (method == MethodName.@_Get) {
return true;
}
return base.HasGodotClassMethod(method);
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptMethods.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptMethods.generated.cs
index a6e58bf27d..3b06c95a9a 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptMethods.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptMethods.generated.cs
@@ -11,11 +11,11 @@ partial class ScriptBoilerplate
/// <summary>
/// Cached name for the '_Process' method.
/// </summary>
- public new static readonly global::Godot.StringName _Process = "_Process";
+ public new static readonly global::Godot.StringName @_Process = "_Process";
/// <summary>
/// Cached name for the 'Bazz' method.
/// </summary>
- public new static readonly global::Godot.StringName Bazz = "Bazz";
+ public new static readonly global::Godot.StringName @Bazz = "Bazz";
}
/// <summary>
/// Get the method information for all the methods declared in this class.
@@ -26,8 +26,8 @@ partial class ScriptBoilerplate
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.MethodInfo> GetGodotMethodList()
{
var methods = new global::System.Collections.Generic.List<global::Godot.Bridge.MethodInfo>(2);
- methods.Add(new(name: MethodName._Process, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)3, name: "delta", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
- methods.Add(new(name: MethodName.Bazz, returnVal: new(type: (global::Godot.Variant.Type)2, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)21, name: "name", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
+ methods.Add(new(name: MethodName.@_Process, returnVal: new(type: (global::Godot.Variant.Type)0, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)3, name: "delta", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
+ methods.Add(new(name: MethodName.@Bazz, returnVal: new(type: (global::Godot.Variant.Type)2, name: "", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), flags: (global::Godot.MethodFlags)1, arguments: new() { new(type: (global::Godot.Variant.Type)21, name: "name", hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)6, exported: false), }, defaultArguments: null));
return methods;
}
#pragma warning restore CS0109
@@ -35,13 +35,13 @@ partial class ScriptBoilerplate
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)
{
- if (method == MethodName._Process && args.Count == 1) {
- _Process(global::Godot.NativeInterop.VariantUtils.ConvertTo<double>(args[0]));
+ if (method == MethodName.@_Process && args.Count == 1) {
+ @_Process(global::Godot.NativeInterop.VariantUtils.ConvertTo<double>(args[0]));
ret = default;
return true;
}
- if (method == MethodName.Bazz && args.Count == 1) {
- var callRet = Bazz(global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName>(args[0]));
+ if (method == MethodName.@Bazz && args.Count == 1) {
+ var callRet = @Bazz(global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.StringName>(args[0]));
ret = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(callRet);
return true;
}
@@ -51,10 +51,10 @@ partial class ScriptBoilerplate
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool HasGodotClassMethod(in godot_string_name method)
{
- if (method == MethodName._Process) {
+ if (method == MethodName.@_Process) {
return true;
}
- if (method == MethodName.Bazz) {
+ if (method == MethodName.@Bazz) {
return true;
}
return base.HasGodotClassMethod(method);
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptProperties.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptProperties.generated.cs
index 81cc27502f..ef0eba5e09 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptProperties.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptProperties.generated.cs
@@ -11,22 +11,22 @@ partial class ScriptBoilerplate
/// <summary>
/// Cached name for the '_nodePath' field.
/// </summary>
- public new static readonly global::Godot.StringName _nodePath = "_nodePath";
+ public new static readonly global::Godot.StringName @_nodePath = "_nodePath";
/// <summary>
/// Cached name for the '_velocity' field.
/// </summary>
- public new static readonly global::Godot.StringName _velocity = "_velocity";
+ public new static readonly global::Godot.StringName @_velocity = "_velocity";
}
/// <inheritdoc/>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool SetGodotClassPropertyValue(in godot_string_name name, in godot_variant value)
{
- if (name == PropertyName._nodePath) {
- this._nodePath = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath>(value);
+ if (name == PropertyName.@_nodePath) {
+ this.@_nodePath = global::Godot.NativeInterop.VariantUtils.ConvertTo<global::Godot.NodePath>(value);
return true;
}
- if (name == PropertyName._velocity) {
- this._velocity = global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(value);
+ if (name == PropertyName.@_velocity) {
+ this.@_velocity = global::Godot.NativeInterop.VariantUtils.ConvertTo<int>(value);
return true;
}
return base.SetGodotClassPropertyValue(name, value);
@@ -35,12 +35,12 @@ partial class ScriptBoilerplate
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override bool GetGodotClassPropertyValue(in godot_string_name name, out godot_variant value)
{
- if (name == PropertyName._nodePath) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath>(this._nodePath);
+ if (name == PropertyName.@_nodePath) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<global::Godot.NodePath>(this.@_nodePath);
return true;
}
- if (name == PropertyName._velocity) {
- value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(this._velocity);
+ if (name == PropertyName.@_velocity) {
+ value = global::Godot.NativeInterop.VariantUtils.CreateFrom<int>(this.@_velocity);
return true;
}
return base.GetGodotClassPropertyValue(name, out value);
@@ -54,8 +54,8 @@ partial class ScriptBoilerplate
internal new static global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo> GetGodotPropertyList()
{
var properties = new global::System.Collections.Generic.List<global::Godot.Bridge.PropertyInfo>();
- properties.Add(new(type: (global::Godot.Variant.Type)22, name: PropertyName._nodePath, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
- properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName._velocity, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)22, name: PropertyName.@_nodePath, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
+ properties.Add(new(type: (global::Godot.Variant.Type)2, name: PropertyName.@_velocity, hint: (global::Godot.PropertyHint)0, hintString: "", usage: (global::Godot.PropertyUsageFlags)4096, exported: false));
return properties;
}
#pragma warning restore CS0109
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptSerialization.generated.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptSerialization.generated.cs
index 28bc863b0a..38f532c502 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptSerialization.generated.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests/TestData/GeneratedSources/ScriptBoilerplate_ScriptSerialization.generated.cs
@@ -8,17 +8,17 @@ partial class ScriptBoilerplate
protected override void SaveGodotObjectData(global::Godot.Bridge.GodotSerializationInfo info)
{
base.SaveGodotObjectData(info);
- info.AddProperty(PropertyName._nodePath, global::Godot.Variant.From<global::Godot.NodePath>(this._nodePath));
- info.AddProperty(PropertyName._velocity, global::Godot.Variant.From<int>(this._velocity));
+ info.AddProperty(PropertyName.@_nodePath, global::Godot.Variant.From<global::Godot.NodePath>(this.@_nodePath));
+ info.AddProperty(PropertyName.@_velocity, global::Godot.Variant.From<int>(this.@_velocity));
}
/// <inheritdoc/>
[global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)]
protected override void RestoreGodotObjectData(global::Godot.Bridge.GodotSerializationInfo info)
{
base.RestoreGodotObjectData(info);
- if (info.TryGetProperty(PropertyName._nodePath, out var _value__nodePath))
- this._nodePath = _value__nodePath.As<global::Godot.NodePath>();
- if (info.TryGetProperty(PropertyName._velocity, out var _value__velocity))
- this._velocity = _value__velocity.As<int>();
+ if (info.TryGetProperty(PropertyName.@_nodePath, out var _value__nodePath))
+ this.@_nodePath = _value__nodePath.As<global::Godot.NodePath>();
+ if (info.TryGetProperty(PropertyName.@_velocity, out var _value__velocity))
+ this.@_velocity = _value__velocity.As<int>();
}
}
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs
index 39d3a6f94e..e482d9ca79 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs
@@ -158,7 +158,7 @@ namespace Godot.SourceGenerators
.Append("' method.\n")
.Append(" /// </summary>\n");
- source.Append(" public new static readonly global::Godot.StringName ");
+ source.Append(" public new static readonly global::Godot.StringName @");
source.Append(methodName);
source.Append(" = \"");
source.Append(methodName);
@@ -287,7 +287,7 @@ namespace Godot.SourceGenerators
private static void AppendMethodInfo(StringBuilder source, MethodInfo methodInfo)
{
- source.Append(" methods.Add(new(name: MethodName.")
+ source.Append(" methods.Add(new(name: MethodName.@")
.Append(methodInfo.Name)
.Append(", returnVal: ");
@@ -414,7 +414,7 @@ namespace Godot.SourceGenerators
)
{
source.Append(" ");
- source.Append("if (method == MethodName.");
+ source.Append("if (method == MethodName.@");
source.Append(methodName);
source.Append(") {\n return true;\n }\n");
}
@@ -426,7 +426,7 @@ namespace Godot.SourceGenerators
{
string methodName = method.Method.Name;
- source.Append(" if (method == MethodName.");
+ source.Append(" if (method == MethodName.@");
source.Append(methodName);
source.Append(" && args.Count == ");
source.Append(method.ParamTypes.Length);
@@ -437,6 +437,7 @@ namespace Godot.SourceGenerators
else
source.Append(" ");
+ source.Append("@");
source.Append(methodName);
source.Append("(");
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs
index 02c2cd4034..29bae6413d 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs
@@ -144,7 +144,7 @@ namespace Godot.SourceGenerators
.Append("' property.\n")
.Append(" /// </summary>\n");
- source.Append(" public new static readonly global::Godot.StringName ");
+ source.Append(" public new static readonly global::Godot.StringName @");
source.Append(propertyName);
source.Append(" = \"");
source.Append(propertyName);
@@ -161,7 +161,7 @@ namespace Godot.SourceGenerators
.Append("' field.\n")
.Append(" /// </summary>\n");
- source.Append(" public new static readonly global::Godot.StringName ");
+ source.Append(" public new static readonly global::Godot.StringName @");
source.Append(fieldName);
source.Append(" = \"");
source.Append(fieldName);
@@ -316,10 +316,10 @@ namespace Godot.SourceGenerators
{
source.Append(" ");
- source.Append("if (name == PropertyName.")
+ source.Append("if (name == PropertyName.@")
.Append(propertyMemberName)
.Append(") {\n")
- .Append(" this.")
+ .Append(" this.@")
.Append(propertyMemberName)
.Append(" = ")
.AppendNativeVariantToManagedExpr("value", propertyTypeSymbol, propertyMarshalType)
@@ -337,11 +337,11 @@ namespace Godot.SourceGenerators
{
source.Append(" ");
- source.Append("if (name == PropertyName.")
+ source.Append("if (name == PropertyName.@")
.Append(propertyMemberName)
.Append(") {\n")
.Append(" value = ")
- .AppendManagedToNativeVariantExpr("this." + propertyMemberName,
+ .AppendManagedToNativeVariantExpr("this.@" + propertyMemberName,
propertyTypeSymbol, propertyMarshalType)
.Append(";\n")
.Append(" return true;\n")
@@ -367,7 +367,7 @@ namespace Godot.SourceGenerators
{
source.Append(" properties.Add(new(type: (global::Godot.Variant.Type)")
.Append((int)propertyInfo.Type)
- .Append(", name: PropertyName.")
+ .Append(", name: PropertyName.@")
.Append(propertyInfo.Name)
.Append(", hint: (global::Godot.PropertyHint)")
.Append((int)propertyInfo.Hint)
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertyDefValGenerator.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertyDefValGenerator.cs
index d13a828875..efe88d8468 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertyDefValGenerator.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertyDefValGenerator.cs
@@ -386,7 +386,7 @@ namespace Godot.SourceGenerators
source.Append(" = ");
source.Append(exportedMember.Value ?? "default");
source.Append(";\n");
- source.Append(" values.Add(PropertyName.");
+ source.Append(" values.Add(PropertyName.@");
source.Append(exportedMember.Name);
source.Append(", ");
source.AppendManagedToVariantExpr(defaultValueLocalName,
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSerializationGenerator.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSerializationGenerator.cs
index df0484333a..937da76335 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSerializationGenerator.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSerializationGenerator.cs
@@ -169,10 +169,10 @@ namespace Godot.SourceGenerators
{
string propertyName = property.PropertySymbol.Name;
- source.Append(" info.AddProperty(PropertyName.")
+ source.Append(" info.AddProperty(PropertyName.@")
.Append(propertyName)
.Append(", ")
- .AppendManagedToVariantExpr(string.Concat("this.", propertyName),
+ .AppendManagedToVariantExpr(string.Concat("this.@", propertyName),
property.PropertySymbol.Type, property.Type)
.Append(");\n");
}
@@ -183,10 +183,10 @@ namespace Godot.SourceGenerators
{
string fieldName = field.FieldSymbol.Name;
- source.Append(" info.AddProperty(PropertyName.")
+ source.Append(" info.AddProperty(PropertyName.@")
.Append(fieldName)
.Append(", ")
- .AppendManagedToVariantExpr(string.Concat("this.", fieldName),
+ .AppendManagedToVariantExpr(string.Concat("this.@", fieldName),
field.FieldSymbol.Type, field.Type)
.Append(");\n");
}
@@ -197,7 +197,7 @@ namespace Godot.SourceGenerators
{
string signalName = signalDelegate.Name;
- source.Append(" info.AddSignalEventDelegate(SignalName.")
+ source.Append(" info.AddSignalEventDelegate(SignalName.@")
.Append(signalName)
.Append(", this.backing_")
.Append(signalName)
@@ -218,12 +218,12 @@ namespace Godot.SourceGenerators
{
string propertyName = property.PropertySymbol.Name;
- source.Append(" if (info.TryGetProperty(PropertyName.")
+ source.Append(" if (info.TryGetProperty(PropertyName.@")
.Append(propertyName)
.Append(", out var _value_")
.Append(propertyName)
.Append("))\n")
- .Append(" this.")
+ .Append(" this.@")
.Append(propertyName)
.Append(" = ")
.AppendVariantToManagedExpr(string.Concat("_value_", propertyName),
@@ -237,12 +237,12 @@ namespace Godot.SourceGenerators
{
string fieldName = field.FieldSymbol.Name;
- source.Append(" if (info.TryGetProperty(PropertyName.")
+ source.Append(" if (info.TryGetProperty(PropertyName.@")
.Append(fieldName)
.Append(", out var _value_")
.Append(fieldName)
.Append("))\n")
- .Append(" this.")
+ .Append(" this.@")
.Append(fieldName)
.Append(" = ")
.AppendVariantToManagedExpr(string.Concat("_value_", fieldName),
@@ -259,7 +259,7 @@ namespace Godot.SourceGenerators
source.Append(" if (info.TryGetSignalEventDelegate<")
.Append(signalDelegateQualifiedName)
- .Append(">(SignalName.")
+ .Append(">(SignalName.@")
.Append(signalName)
.Append(", out var _value_")
.Append(signalName)
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs
index deac5f2bcf..54f2212339 100644
--- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs
+++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs
@@ -212,7 +212,7 @@ namespace Godot.SourceGenerators
.Append("' signal.\n")
.Append(" /// </summary>\n");
- source.Append(" public new static readonly global::Godot.StringName ");
+ source.Append(" public new static readonly global::Godot.StringName @");
source.Append(signalName);
source.Append(" = \"");
source.Append(signalName);
@@ -278,7 +278,7 @@ namespace Godot.SourceGenerators
source.Append(" public event ")
.Append(signalDelegate.DelegateSymbol.FullQualifiedNameIncludeGlobal())
- .Append(" ")
+ .Append(" @")
.Append(signalName)
.Append(" {\n")
.Append(" add => backing_")
@@ -353,7 +353,7 @@ namespace Godot.SourceGenerators
private static void AppendMethodInfo(StringBuilder source, MethodInfo methodInfo)
{
- source.Append(" signals.Add(new(name: SignalName.")
+ source.Append(" signals.Add(new(name: SignalName.@")
.Append(methodInfo.Name)
.Append(", returnVal: ");
@@ -475,7 +475,7 @@ namespace Godot.SourceGenerators
)
{
source.Append(" ");
- source.Append("if (signal == SignalName.");
+ source.Append("if (signal == SignalName.@");
source.Append(signalName);
source.Append(") {\n return true;\n }\n");
}
@@ -488,7 +488,7 @@ namespace Godot.SourceGenerators
string signalName = signal.Name;
var invokeMethodData = signal.InvokeMethodData;
- source.Append(" if (signal == SignalName.");
+ source.Append(" if (signal == SignalName.@");
source.Append(signalName);
source.Append(" && args.Count == ");
source.Append(invokeMethodData.ParamTypes.Length);
diff --git a/modules/mono/icons/BuildCSharp.svg b/modules/mono/icons/BuildCSharp.svg
index d4ba5bc293..430433dc38 100644
--- a/modules/mono/icons/BuildCSharp.svg
+++ b/modules/mono/icons/BuildCSharp.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m2.256 4.85 1.7 2.945 2.598-1.5 4.5 7.794a1 1-30 0 0 2.598-1.5l-4.65-8.054 3.464-2-.25-.433s-1.25-2.165-3.848-.665l-3.464 2-.31.063z" fill="#e0e0e0"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="m2.256 4.85 1.7 2.945 2.598-1.5 4.5 7.794a1 1-30 0 0 2.598-1.5l-4.65-8.054 3.464-2-.25-.433s-1.25-2.165-3.848-.665l-3.464 2-.31.063z"/></svg> \ No newline at end of file
diff --git a/modules/mono/icons/CSharpScript.svg b/modules/mono/icons/CSharpScript.svg
index 1e1ec96857..7f309fe5fa 100644
--- a/modules/mono/icons/CSharpScript.svg
+++ b/modules/mono/icons/CSharpScript.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M6 10a3 3 0 1 0 0 6h1v-2H6a1 1 0 0 1 0-2h1v-2zm1-9-.564 2.258a4.91 4.91 0 0 0-.69.28L3.758 2.343 2.344 3.758l1.195 1.994-.285.685L1 7v2h5.27a2 2 0 1 1 3.46 0H15V7l-2.258-.565a5.007 5.007 0 0 0-.28-.687l1.194-1.99-1.414-1.414-1.994 1.195a4.998 4.998 0 0 0-.686-.285L9 1zm4 9a2 2 0 1 0 0 4H9v2h2a2 2 0 1 0 0-4h2v-2z" fill="#e0e0e0"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M6 10a3 3 0 1 0 0 6h1v-2H6a1 1 0 0 1 0-2h1v-2zm1-9-.564 2.258a4.91 4.91 0 0 0-.69.28L3.758 2.343 2.344 3.758l1.195 1.994-.285.685L1 7v2h5.27a2 2 0 1 1 3.46 0H15V7l-2.258-.565a5.007 5.007 0 0 0-.28-.687l1.194-1.99-1.414-1.414-1.994 1.195a4.998 4.998 0 0 0-.686-.285L9 1zm4 9a2 2 0 1 0 0 4H9v2h2a2 2 0 1 0 0-4h2v-2z"/></svg> \ No newline at end of file
diff --git a/modules/multiplayer/editor/editor_network_profiler.cpp b/modules/multiplayer/editor/editor_network_profiler.cpp
index 75941207c7..d5d4b465d8 100644
--- a/modules/multiplayer/editor/editor_network_profiler.cpp
+++ b/modules/multiplayer/editor/editor_network_profiler.cpp
@@ -74,8 +74,8 @@ void EditorNetworkProfiler::_update_theme_item_cache() {
theme_cache.incoming_bandwidth_icon = get_theme_icon(SNAME("ArrowDown"), EditorStringName(EditorIcons));
theme_cache.outgoing_bandwidth_icon = get_theme_icon(SNAME("ArrowUp"), EditorStringName(EditorIcons));
- theme_cache.incoming_bandwidth_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
- theme_cache.outgoing_bandwidth_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
+ theme_cache.incoming_bandwidth_color = get_theme_color(SceneStringName(font_color), EditorStringName(Editor));
+ theme_cache.outgoing_bandwidth_color = get_theme_color(SceneStringName(font_color), EditorStringName(Editor));
}
void EditorNetworkProfiler::_refresh() {
diff --git a/modules/multiplayer/editor/replication_editor.cpp b/modules/multiplayer/editor/replication_editor.cpp
index b28572cf72..d242b06c29 100644
--- a/modules/multiplayer/editor/replication_editor.cpp
+++ b/modules/multiplayer/editor/replication_editor.cpp
@@ -175,7 +175,7 @@ ReplicationEditor::ReplicationEditor() {
delete_dialog = memnew(ConfirmationDialog);
delete_dialog->connect("canceled", callable_mp(this, &ReplicationEditor::_dialog_closed).bind(false));
- delete_dialog->connect("confirmed", callable_mp(this, &ReplicationEditor::_dialog_closed).bind(true));
+ delete_dialog->connect(SceneStringName(confirmed), callable_mp(this, &ReplicationEditor::_dialog_closed).bind(true));
add_child(delete_dialog);
VBoxContainer *vb = memnew(VBoxContainer);
@@ -187,7 +187,7 @@ ReplicationEditor::ReplicationEditor() {
pick_node->register_text_enter(pick_node->get_filter_line_edit());
pick_node->set_title(TTR("Pick a node to synchronize:"));
pick_node->connect("selected", callable_mp(this, &ReplicationEditor::_pick_node_selected));
- pick_node->get_filter_line_edit()->connect("text_changed", callable_mp(this, &ReplicationEditor::_pick_node_filter_text_changed));
+ pick_node->get_filter_line_edit()->connect(SceneStringName(text_changed), callable_mp(this, &ReplicationEditor::_pick_node_filter_text_changed));
pick_node->get_filter_line_edit()->connect("gui_input", callable_mp(this, &ReplicationEditor::_pick_node_filter_input));
prop_selector = memnew(PropertySelector);
diff --git a/modules/multiplayer/multiplayer_spawner.cpp b/modules/multiplayer/multiplayer_spawner.cpp
index 2408d7231b..682d20022f 100644
--- a/modules/multiplayer/multiplayer_spawner.cpp
+++ b/modules/multiplayer/multiplayer_spawner.cpp
@@ -99,7 +99,7 @@ void MultiplayerSpawner::add_spawnable_scene(const String &p_path) {
SpawnableScene sc;
sc.path = p_path;
if (Engine::get_singleton()->is_editor_hint()) {
- ERR_FAIL_COND(!FileAccess::exists(p_path));
+ ERR_FAIL_COND(!ResourceLoader::exists(p_path));
}
spawnable_scenes.push_back(sc);
#ifdef TOOLS_ENABLED
diff --git a/modules/multiplayer/multiplayer_synchronizer.cpp b/modules/multiplayer/multiplayer_synchronizer.cpp
index ca3fa43207..852975b8eb 100644
--- a/modules/multiplayer/multiplayer_synchronizer.cpp
+++ b/modules/multiplayer/multiplayer_synchronizer.cpp
@@ -270,7 +270,7 @@ void MultiplayerSynchronizer::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "root_path"), "set_root_path", "get_root_path");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "replication_interval", PROPERTY_HINT_RANGE, "0,5,0.001,suffix:s"), "set_replication_interval", "get_replication_interval");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "delta_interval", PROPERTY_HINT_RANGE, "0,5,0.001,suffix:s"), "set_delta_interval", "get_delta_interval");
- ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "replication_config", PROPERTY_HINT_RESOURCE_TYPE, "SceneReplicationConfig", PROPERTY_USAGE_NO_EDITOR), "set_replication_config", "get_replication_config");
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "replication_config", PROPERTY_HINT_RESOURCE_TYPE, "SceneReplicationConfig", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT), "set_replication_config", "get_replication_config");
ADD_PROPERTY(PropertyInfo(Variant::INT, "visibility_update_mode", PROPERTY_HINT_ENUM, "Idle,Physics,None"), "set_visibility_update_mode", "get_visibility_update_mode");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "public_visibility"), "set_visibility_public", "is_visibility_public");
diff --git a/modules/navigation/2d/nav_mesh_generator_2d.cpp b/modules/navigation/2d/nav_mesh_generator_2d.cpp
index ace361a08a..8c2fb42463 100644
--- a/modules/navigation/2d/nav_mesh_generator_2d.cpp
+++ b/modules/navigation/2d/nav_mesh_generator_2d.cpp
@@ -852,8 +852,15 @@ void NavMeshGenerator2D::generator_bake_from_source_geometry_data(Ref<Navigation
}
int outline_count = p_navigation_mesh->get_outline_count();
- const Vector<Vector<Vector2>> &traversable_outlines = p_source_geometry_data->_get_traversable_outlines();
- const Vector<Vector<Vector2>> &obstruction_outlines = p_source_geometry_data->_get_obstruction_outlines();
+
+ Vector<Vector<Vector2>> traversable_outlines;
+ Vector<Vector<Vector2>> obstruction_outlines;
+ Vector<NavigationMeshSourceGeometryData2D::ProjectedObstruction> projected_obstructions;
+
+ p_source_geometry_data->get_data(
+ traversable_outlines,
+ obstruction_outlines,
+ projected_obstructions);
if (outline_count == 0 && traversable_outlines.size() == 0) {
return;
@@ -898,8 +905,6 @@ void NavMeshGenerator2D::generator_bake_from_source_geometry_data(Ref<Navigation
obstruction_polygon_paths.push_back(clip_path);
}
- const Vector<NavigationMeshSourceGeometryData2D::ProjectedObstruction> &projected_obstructions = p_source_geometry_data->_get_projected_obstructions();
-
if (!projected_obstructions.is_empty()) {
for (const NavigationMeshSourceGeometryData2D::ProjectedObstruction &projected_obstruction : projected_obstructions) {
if (projected_obstruction.carve) {
@@ -1005,8 +1010,7 @@ void NavMeshGenerator2D::generator_bake_from_source_geometry_data(Ref<Navigation
}
if (new_baked_outlines.size() == 0) {
- p_navigation_mesh->set_vertices(Vector<Vector2>());
- p_navigation_mesh->clear_polygons();
+ p_navigation_mesh->clear();
return;
}
@@ -1040,8 +1044,7 @@ void NavMeshGenerator2D::generator_bake_from_source_geometry_data(Ref<Navigation
TPPLPartition tpart;
if (tpart.ConvexPartition_HM(&tppl_in_polygon, &tppl_out_polygon) == 0) { //failed!
ERR_PRINT("NavigationPolygon Convex partition failed. Unable to create a valid NavigationMesh from defined polygon outline paths.");
- p_navigation_mesh->set_vertices(Vector<Vector2>());
- p_navigation_mesh->clear_polygons();
+ p_navigation_mesh->clear();
return;
}
@@ -1066,11 +1069,7 @@ void NavMeshGenerator2D::generator_bake_from_source_geometry_data(Ref<Navigation
new_polygons.push_back(new_polygon);
}
- p_navigation_mesh->set_vertices(new_vertices);
- p_navigation_mesh->clear_polygons();
- for (int i = 0; i < new_polygons.size(); i++) {
- p_navigation_mesh->add_polygon(new_polygons[i]);
- }
+ p_navigation_mesh->set_data(new_vertices, new_polygons);
}
#endif // CLIPPER2_ENABLED
diff --git a/modules/navigation/3d/godot_navigation_server_3d.cpp b/modules/navigation/3d/godot_navigation_server_3d.cpp
index 6cbfd93088..430d527844 100644
--- a/modules/navigation/3d/godot_navigation_server_3d.cpp
+++ b/modules/navigation/3d/godot_navigation_server_3d.cpp
@@ -486,7 +486,7 @@ COMMAND_2(region_set_navigation_mesh, RID, p_region, Ref<NavigationMesh>, p_navi
NavRegion *region = region_owner.get_or_null(p_region);
ERR_FAIL_NULL(region);
- region->set_mesh(p_navigation_mesh);
+ region->set_navigation_mesh(p_navigation_mesh);
}
#ifndef DISABLE_DEPRECATED
diff --git a/modules/navigation/3d/nav_mesh_generator_3d.cpp b/modules/navigation/3d/nav_mesh_generator_3d.cpp
index df0bdc9537..d17724baa0 100644
--- a/modules/navigation/3d/nav_mesh_generator_3d.cpp
+++ b/modules/navigation/3d/nav_mesh_generator_3d.cpp
@@ -672,10 +672,16 @@ void NavMeshGenerator3D::generator_bake_from_source_geometry_data(Ref<Navigation
return;
}
- const Vector<float> &vertices = p_source_geometry_data->get_vertices();
- const Vector<int> &indices = p_source_geometry_data->get_indices();
+ Vector<float> source_geometry_vertices;
+ Vector<int> source_geometry_indices;
+ Vector<NavigationMeshSourceGeometryData3D::ProjectedObstruction> projected_obstructions;
- if (vertices.size() < 3 || indices.size() < 3) {
+ p_source_geometry_data->get_data(
+ source_geometry_vertices,
+ source_geometry_indices,
+ projected_obstructions);
+
+ if (source_geometry_vertices.size() < 3 || source_geometry_indices.size() < 3) {
return;
}
@@ -691,10 +697,10 @@ void NavMeshGenerator3D::generator_bake_from_source_geometry_data(Ref<Navigation
bake_state = "Setting up Configuration..."; // step #1
- const float *verts = vertices.ptr();
- const int nverts = vertices.size() / 3;
- const int *tris = indices.ptr();
- const int ntris = indices.size() / 3;
+ const float *verts = source_geometry_vertices.ptr();
+ const int nverts = source_geometry_vertices.size() / 3;
+ const int *tris = source_geometry_indices.ptr();
+ const int ntris = source_geometry_indices.size() / 3;
float bmin[3], bmax[3];
rcCalcBounds(verts, nverts, bmin, bmax);
@@ -818,8 +824,6 @@ void NavMeshGenerator3D::generator_bake_from_source_geometry_data(Ref<Navigation
rcFreeHeightField(hf);
hf = nullptr;
- const Vector<NavigationMeshSourceGeometryData3D::ProjectedObstruction> &projected_obstructions = p_source_geometry_data->_get_projected_obstructions();
-
// Add obstacles to the source geometry. Those will be affected by e.g. agent_radius.
if (!projected_obstructions.is_empty()) {
for (const NavigationMeshSourceGeometryData3D::ProjectedObstruction &projected_obstruction : projected_obstructions) {
@@ -894,6 +898,7 @@ void NavMeshGenerator3D::generator_bake_from_source_geometry_data(Ref<Navigation
bake_state = "Converting to native navigation mesh..."; // step #10
Vector<Vector3> nav_vertices;
+ Vector<Vector<int>> nav_polygons;
HashMap<Vector3, int> recast_vertex_to_native_index;
LocalVector<int> recast_index_to_native_index;
@@ -912,8 +917,6 @@ void NavMeshGenerator3D::generator_bake_from_source_geometry_data(Ref<Navigation
recast_index_to_native_index[i] = *existing_index_ptr;
}
}
- p_navigation_mesh->set_vertices(nav_vertices);
- p_navigation_mesh->clear_polygons();
for (int i = 0; i < detail_mesh->nmeshes; i++) {
const unsigned int *detail_mesh_m = &detail_mesh->meshes[i * 4];
@@ -933,10 +936,12 @@ void NavMeshGenerator3D::generator_bake_from_source_geometry_data(Ref<Navigation
nav_indices.write[1] = recast_index_to_native_index[index2];
nav_indices.write[2] = recast_index_to_native_index[index3];
- p_navigation_mesh->add_polygon(nav_indices);
+ nav_polygons.push_back(nav_indices);
}
}
+ p_navigation_mesh->set_data(nav_vertices, nav_polygons);
+
bake_state = "Cleanup..."; // step #11
rcFreePolyMesh(poly_mesh);
diff --git a/modules/navigation/nav_map.cpp b/modules/navigation/nav_map.cpp
index 1779be2cc2..f917c988ea 100644
--- a/modules/navigation/nav_map.cpp
+++ b/modules/navigation/nav_map.cpp
@@ -627,9 +627,25 @@ Vector3 NavMap::get_closest_point_to_segment(const Vector3 &p_from, const Vector
closest_point_d = d;
}
}
- }
+ // If segment does not itersect face, check the distance from segment's endpoints.
+ else if (!use_collision) {
+ const Vector3 p_from_closest = f.get_closest_point_to(p_from);
+ const real_t d_p_from = p_from.distance_to(p_from_closest);
+ if (closest_point_d > d_p_from) {
+ closest_point = p_from_closest;
+ closest_point_d = d_p_from;
+ }
- if (use_collision == false) {
+ const Vector3 p_to_closest = f.get_closest_point_to(p_to);
+ const real_t d_p_to = p_to.distance_to(p_to_closest);
+ if (closest_point_d > d_p_to) {
+ closest_point = p_to_closest;
+ closest_point_d = d_p_to;
+ }
+ }
+ }
+ // Finally, check for a case when shortest distance is between some point located on a face's edge and some point located on a line segment.
+ if (!use_collision) {
for (size_t point_id = 0; point_id < p.points.size(); point_id += 1) {
Vector3 a, b;
@@ -1131,13 +1147,6 @@ void NavMap::sync() {
new_polygon.points.push_back({ closest_end_point, get_point_key(closest_end_point) });
new_polygon.points.push_back({ closest_end_point, get_point_key(closest_end_point) });
- Vector3 center;
- for (int p = 0; p < 4; ++p) {
- center += new_polygon.points[p].pos;
- }
- new_polygon.center = center / real_t(new_polygon.points.size());
- new_polygon.clockwise = true;
-
// Setup connections to go forward in the link.
{
gd::Edge::Connection entry_connection;
diff --git a/modules/navigation/nav_region.cpp b/modules/navigation/nav_region.cpp
index 9cb235d79f..f30855d697 100644
--- a/modules/navigation/nav_region.cpp
+++ b/modules/navigation/nav_region.cpp
@@ -74,10 +74,34 @@ void NavRegion::set_transform(Transform3D p_transform) {
}
transform = p_transform;
polygons_dirty = true;
+
+#ifdef DEBUG_ENABLED
+ if (map && Math::rad_to_deg(map->get_up().angle_to(transform.basis.get_column(1))) >= 90.0f) {
+ ERR_PRINT_ONCE("Attempted to update a navigation region transform rotated 90 degrees or more away from the current navigation map UP orientation.");
+ }
+#endif // DEBUG_ENABLED
}
-void NavRegion::set_mesh(Ref<NavigationMesh> p_mesh) {
- mesh = p_mesh;
+void NavRegion::set_navigation_mesh(Ref<NavigationMesh> p_navigation_mesh) {
+#ifdef DEBUG_ENABLED
+ if (map && p_navigation_mesh.is_valid() && !Math::is_equal_approx(double(map->get_cell_size()), double(p_navigation_mesh->get_cell_size()))) {
+ ERR_PRINT_ONCE(vformat("Attempted to update a navigation region with a navigation mesh that uses a `cell_size` of %s while assigned to a navigation map set to a `cell_size` of %s. The cell size for navigation maps can be changed by using the NavigationServer map_set_cell_size() function. The cell size for default navigation maps can also be changed in the ProjectSettings.", double(p_navigation_mesh->get_cell_size()), double(map->get_cell_size())));
+ }
+
+ if (map && p_navigation_mesh.is_valid() && !Math::is_equal_approx(double(map->get_cell_height()), double(p_navigation_mesh->get_cell_height()))) {
+ ERR_PRINT_ONCE(vformat("Attempted to update a navigation region with a navigation mesh that uses a `cell_height` of %s while assigned to a navigation map set to a `cell_height` of %s. The cell height for navigation maps can be changed by using the NavigationServer map_set_cell_height() function. The cell height for default navigation maps can also be changed in the ProjectSettings.", double(p_navigation_mesh->get_cell_height()), double(map->get_cell_height())));
+ }
+#endif // DEBUG_ENABLED
+
+ RWLockWrite write_lock(navmesh_rwlock);
+
+ pending_navmesh_vertices.clear();
+ pending_navmesh_polygons.clear();
+
+ if (p_navigation_mesh.is_valid()) {
+ p_navigation_mesh->get_data(pending_navmesh_vertices, pending_navmesh_polygons);
+ }
+
polygons_dirty = true;
}
@@ -202,33 +226,20 @@ void NavRegion::update_polygons() {
return;
}
- if (mesh.is_null()) {
- return;
- }
-
-#ifdef DEBUG_ENABLED
- if (!Math::is_equal_approx(double(map->get_cell_size()), double(mesh->get_cell_size()))) {
- ERR_PRINT_ONCE(vformat("Navigation map synchronization error. Attempted to update a navigation region with a navigation mesh that uses a `cell_size` of %s while assigned to a navigation map set to a `cell_size` of %s. The cell size for navigation maps can be changed by using the NavigationServer map_set_cell_size() function. The cell size for default navigation maps can also be changed in the ProjectSettings.", double(mesh->get_cell_size()), double(map->get_cell_size())));
- }
-
- if (!Math::is_equal_approx(double(map->get_cell_height()), double(mesh->get_cell_height()))) {
- ERR_PRINT_ONCE(vformat("Navigation map synchronization error. Attempted to update a navigation region with a navigation mesh that uses a `cell_height` of %s while assigned to a navigation map set to a `cell_height` of %s. The cell height for navigation maps can be changed by using the NavigationServer map_set_cell_height() function. The cell height for default navigation maps can also be changed in the ProjectSettings.", double(mesh->get_cell_height()), double(map->get_cell_height())));
- }
+ RWLockRead read_lock(navmesh_rwlock);
- if (map && Math::rad_to_deg(map->get_up().angle_to(transform.basis.get_column(1))) >= 90.0f) {
- ERR_PRINT_ONCE("Navigation map synchronization error. Attempted to update a navigation region transform rotated 90 degrees or more away from the current navigation map UP orientation.");
+ if (pending_navmesh_vertices.is_empty() || pending_navmesh_polygons.is_empty()) {
+ return;
}
-#endif // DEBUG_ENABLED
- Vector<Vector3> vertices = mesh->get_vertices();
- int len = vertices.size();
+ int len = pending_navmesh_vertices.size();
if (len == 0) {
return;
}
- const Vector3 *vertices_r = vertices.ptr();
+ const Vector3 *vertices_r = pending_navmesh_vertices.ptr();
- polygons.resize(mesh->get_polygon_count());
+ polygons.resize(pending_navmesh_polygons.size());
real_t _new_region_surface_area = 0.0;
@@ -238,7 +249,7 @@ void NavRegion::update_polygons() {
polygon.owner = this;
polygon.surface_area = 0.0;
- Vector<int> navigation_mesh_polygon = mesh->get_polygon(navigation_mesh_polygon_index);
+ Vector<int> navigation_mesh_polygon = pending_navmesh_polygons[navigation_mesh_polygon_index];
navigation_mesh_polygon_index += 1;
int navigation_mesh_polygon_size = navigation_mesh_polygon.size();
@@ -266,9 +277,6 @@ void NavRegion::update_polygons() {
polygon.surface_area = _new_polygon_surface_area;
_new_region_surface_area += _new_polygon_surface_area;
- Vector3 polygon_center;
- real_t sum(0);
-
for (int j(0); j < navigation_mesh_polygon_size; j++) {
int idx = indices[j];
if (idx < 0 || idx >= len) {
@@ -279,25 +287,11 @@ void NavRegion::update_polygons() {
Vector3 point_position = transform.xform(vertices_r[idx]);
polygon.points[j].pos = point_position;
polygon.points[j].key = map->get_point_key(point_position);
-
- polygon_center += point_position; // Composing the center of the polygon
-
- if (j >= 2) {
- Vector3 epa = transform.xform(vertices_r[indices[j - 2]]);
- Vector3 epb = transform.xform(vertices_r[indices[j - 1]]);
-
- sum += map->get_up().dot((epb - epa).cross(point_position - epa));
- }
}
if (!valid) {
ERR_BREAK_MSG(!valid, "The navigation mesh set in this region is not valid!");
}
-
- polygon.clockwise = sum > 0;
- if (!navigation_mesh_polygon.is_empty()) {
- polygon.center = polygon_center / real_t(navigation_mesh_polygon.size());
- }
}
surface_area = _new_region_surface_area;
diff --git a/modules/navigation/nav_region.h b/modules/navigation/nav_region.h
index a9cfc53c7e..ebc082bd2f 100644
--- a/modules/navigation/nav_region.h
+++ b/modules/navigation/nav_region.h
@@ -34,12 +34,12 @@
#include "nav_base.h"
#include "nav_utils.h"
+#include "core/os/rw_lock.h"
#include "scene/resources/navigation_mesh.h"
class NavRegion : public NavBase {
NavMap *map = nullptr;
Transform3D transform;
- Ref<NavigationMesh> mesh;
Vector<gd::Edge::Connection> connections;
bool enabled = true;
@@ -52,6 +52,10 @@ class NavRegion : public NavBase {
real_t surface_area = 0.0;
+ RWLock navmesh_rwlock;
+ Vector<Vector3> pending_navmesh_vertices;
+ Vector<Vector<int>> pending_navmesh_polygons;
+
public:
NavRegion() {
type = NavigationUtilities::PathSegmentType::PATH_SEGMENT_TYPE_REGION;
@@ -79,10 +83,7 @@ public:
return transform;
}
- void set_mesh(Ref<NavigationMesh> p_mesh);
- const Ref<NavigationMesh> get_mesh() const {
- return mesh;
- }
+ void set_navigation_mesh(Ref<NavigationMesh> p_navigation_mesh);
Vector<gd::Edge::Connection> &get_connections() {
return connections;
diff --git a/modules/navigation/nav_utils.h b/modules/navigation/nav_utils.h
index 175d08ca6d..c3939e9979 100644
--- a/modules/navigation/nav_utils.h
+++ b/modules/navigation/nav_utils.h
@@ -104,15 +104,9 @@ struct Polygon {
/// The points of this `Polygon`
LocalVector<Point> points;
- /// Are the points clockwise?
- bool clockwise;
-
/// The edges of this `Polygon`
LocalVector<Edge> edges;
- /// The center of this `Polygon`
- Vector3 center;
-
real_t surface_area = 0.0;
};
diff --git a/modules/noise/icons/NoiseTexture2D.svg b/modules/noise/icons/NoiseTexture2D.svg
index 0c22cfdcc6..94d550d141 100644
--- a/modules/noise/icons/NoiseTexture2D.svg
+++ b/modules/noise/icons/NoiseTexture2D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zm1 2h10v8H3zm3 1v2h2V4zm2 2v2h2v2h2V4h-2v2zm0 2H6V6H4v4h4z" fill="#e0e0e0"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zm1 2h10v8H3zm3 1v2h2V4zm2 2v2h2v2h2V4h-2v2zm0 2H6V6H4v4h4z"/></svg> \ No newline at end of file
diff --git a/modules/noise/icons/NoiseTexture3D.svg b/modules/noise/icons/NoiseTexture3D.svg
index 92da633dce..178bac2dd3 100644
--- a/modules/noise/icons/NoiseTexture3D.svg
+++ b/modules/noise/icons/NoiseTexture3D.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M1 14a1 1 0 0 0 1 1h9.5a1 1 0 0 0 .707-.293l2.5-2.5A1 1 0 0 0 15 11.5V2a1 1 0 0 0-1-1H4.5a1 1 0 0 0-.707.293l-2.5 2.5A1 1 0 0 0 1 4.5zm1.25-9H11v7H2.25zm10 6.25v-6.5L14 3v6.5zm-1-7.5H3L4.75 2H13zM3 11h4l1.25-1.25V9H9l1.25-1.25v-2h-2L7 7v.75h-.75v-2h-2L3 7z" fill="#e0e0e0"/><path d="M3 7h2l1.25-1.25h-2zm2 2h2V7.75h-.75zm2-2h2l1.25-1.25H8z" fill="#000" fill-opacity=".4"/><path d="M5 7v2l1.25-1.25v-2zm2 2v2l1.25-1.25V9zm2 0V7l1.25-1.25v2z" fill="#000" fill-opacity=".2"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M1 14a1 1 0 0 0 1 1h9.5a1 1 0 0 0 .707-.293l2.5-2.5A1 1 0 0 0 15 11.5V2a1 1 0 0 0-1-1H4.5a1 1 0 0 0-.707.293l-2.5 2.5A1 1 0 0 0 1 4.5zm1.25-9H11v7H2.25zm10 6.25v-6.5L14 3v6.5zm-1-7.5H3L4.75 2H13zM3 11h4l1.25-1.25V9H9l1.25-1.25v-2h-2L7 7v.75h-.75v-2h-2L3 7z"/><path fill-opacity=".4" d="M3 7h2l1.25-1.25h-2zm2 2h2V7.75h-.75zm2-2h2l1.25-1.25H8z"/><path fill-opacity=".2" d="M5 7v2l1.25-1.25v-2zm2 2v2l1.25-1.25V9zm2 0V7l1.25-1.25v2z"/></svg> \ No newline at end of file
diff --git a/modules/openxr/editor/openxr_action_editor.cpp b/modules/openxr/editor/openxr_action_editor.cpp
index 06d2e8dcc9..63162ba3dc 100644
--- a/modules/openxr/editor/openxr_action_editor.cpp
+++ b/modules/openxr/editor/openxr_action_editor.cpp
@@ -134,14 +134,14 @@ OpenXRActionEditor::OpenXRActionEditor(Ref<OpenXRAction> p_action) {
action_name = memnew(LineEdit);
action_name->set_text(action->get_name());
action_name->set_custom_minimum_size(Size2(150.0, 0.0));
- action_name->connect("text_changed", callable_mp(this, &OpenXRActionEditor::_on_action_name_changed));
+ action_name->connect(SceneStringName(text_changed), callable_mp(this, &OpenXRActionEditor::_on_action_name_changed));
add_child(action_name);
action_localized_name = memnew(LineEdit);
action_localized_name->set_text(action->get_localized_name());
action_localized_name->set_custom_minimum_size(Size2(150.0, 0.0));
action_localized_name->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- action_localized_name->connect("text_changed", callable_mp(this, &OpenXRActionEditor::_on_action_localized_name_changed));
+ action_localized_name->connect(SceneStringName(text_changed), callable_mp(this, &OpenXRActionEditor::_on_action_localized_name_changed));
add_child(action_localized_name);
action_type_button = memnew(OptionButton);
@@ -152,7 +152,7 @@ OpenXRActionEditor::OpenXRActionEditor(Ref<OpenXRAction> p_action) {
action_type_button->add_item("Haptic", OpenXRAction::OPENXR_ACTION_HAPTIC);
action_type_button->select(int(action->get_action_type()));
action_type_button->set_custom_minimum_size(Size2(100.0, 0.0));
- action_type_button->connect("item_selected", callable_mp(this, &OpenXRActionEditor::_on_item_selected));
+ action_type_button->connect(SceneStringName(item_selected), callable_mp(this, &OpenXRActionEditor::_on_item_selected));
add_child(action_type_button);
// maybe add dropdown to edit our toplevel paths, or do we deduce them from our suggested bindings?
diff --git a/modules/openxr/editor/openxr_action_set_editor.cpp b/modules/openxr/editor/openxr_action_set_editor.cpp
index e2a843a051..0c55592707 100644
--- a/modules/openxr/editor/openxr_action_set_editor.cpp
+++ b/modules/openxr/editor/openxr_action_set_editor.cpp
@@ -244,20 +244,20 @@ OpenXRActionSetEditor::OpenXRActionSetEditor(Ref<OpenXRActionMap> p_action_map,
action_set_name = memnew(LineEdit);
action_set_name->set_text(action_set->get_name());
action_set_name->set_custom_minimum_size(Size2(150.0, 0.0));
- action_set_name->connect("text_changed", callable_mp(this, &OpenXRActionSetEditor::_on_action_set_name_changed));
+ action_set_name->connect(SceneStringName(text_changed), callable_mp(this, &OpenXRActionSetEditor::_on_action_set_name_changed));
action_set_hb->add_child(action_set_name);
action_set_localized_name = memnew(LineEdit);
action_set_localized_name->set_text(action_set->get_localized_name());
action_set_localized_name->set_custom_minimum_size(Size2(150.0, 0.0));
action_set_localized_name->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- action_set_localized_name->connect("text_changed", callable_mp(this, &OpenXRActionSetEditor::_on_action_set_localized_name_changed));
+ action_set_localized_name->connect(SceneStringName(text_changed), callable_mp(this, &OpenXRActionSetEditor::_on_action_set_localized_name_changed));
action_set_hb->add_child(action_set_localized_name);
action_set_priority = memnew(TextEdit);
action_set_priority->set_text(itos(action_set->get_priority()));
action_set_priority->set_custom_minimum_size(Size2(50.0, 0.0));
- action_set_priority->connect("text_changed", callable_mp(this, &OpenXRActionSetEditor::_on_action_set_priority_changed));
+ action_set_priority->connect(SceneStringName(text_changed), callable_mp(this, &OpenXRActionSetEditor::_on_action_set_priority_changed));
action_set_hb->add_child(action_set_priority);
add_action = memnew(Button);
diff --git a/modules/openxr/editor/openxr_select_runtime.cpp b/modules/openxr/editor/openxr_select_runtime.cpp
index f6aa157907..026797c6e0 100644
--- a/modules/openxr/editor/openxr_select_runtime.cpp
+++ b/modules/openxr/editor/openxr_select_runtime.cpp
@@ -98,11 +98,11 @@ void OpenXRSelectRuntime::_notification(int p_notification) {
_update_items();
// Connect signal
- connect("item_selected", callable_mp(this, &OpenXRSelectRuntime::_item_selected));
+ connect(SceneStringName(item_selected), callable_mp(this, &OpenXRSelectRuntime::_item_selected));
} break;
case NOTIFICATION_EXIT_TREE: {
// Disconnect signal
- disconnect("item_selected", callable_mp(this, &OpenXRSelectRuntime::_item_selected));
+ disconnect(SceneStringName(item_selected), callable_mp(this, &OpenXRSelectRuntime::_item_selected));
} break;
}
}
diff --git a/modules/openxr/openxr_api.cpp b/modules/openxr/openxr_api.cpp
index 541e369925..04edde8300 100644
--- a/modules/openxr/openxr_api.cpp
+++ b/modules/openxr/openxr_api.cpp
@@ -902,6 +902,47 @@ bool OpenXRAPI::setup_play_space() {
new_reference_space = XR_REFERENCE_SPACE_TYPE_LOCAL;
will_emulate_local_floor = true;
+
+ if (local_floor_emulation.local_space == XR_NULL_HANDLE) {
+ XrReferenceSpaceCreateInfo create_info = {
+ XR_TYPE_REFERENCE_SPACE_CREATE_INFO, // type
+ nullptr, // next
+ XR_REFERENCE_SPACE_TYPE_LOCAL, // referenceSpaceType
+ identityPose, // poseInReferenceSpace
+ };
+
+ XrResult result = xrCreateReferenceSpace(session, &create_info, &local_floor_emulation.local_space);
+ if (XR_FAILED(result)) {
+ print_line("OpenXR: Failed to create LOCAL space in order to emulate LOCAL_FLOOR [", get_error_string(result), "]");
+ will_emulate_local_floor = false;
+ }
+ }
+
+ if (local_floor_emulation.stage_space == XR_NULL_HANDLE) {
+ XrReferenceSpaceCreateInfo create_info = {
+ XR_TYPE_REFERENCE_SPACE_CREATE_INFO, // type
+ nullptr, // next
+ XR_REFERENCE_SPACE_TYPE_STAGE, // referenceSpaceType
+ identityPose, // poseInReferenceSpace
+ };
+
+ XrResult result = xrCreateReferenceSpace(session, &create_info, &local_floor_emulation.stage_space);
+ if (XR_FAILED(result)) {
+ print_line("OpenXR: Failed to create STAGE space in order to emulate LOCAL_FLOOR [", get_error_string(result), "]");
+ will_emulate_local_floor = false;
+ }
+ }
+
+ if (!will_emulate_local_floor) {
+ if (local_floor_emulation.local_space != XR_NULL_HANDLE) {
+ xrDestroySpace(local_floor_emulation.local_space);
+ local_floor_emulation.local_space = XR_NULL_HANDLE;
+ }
+ if (local_floor_emulation.stage_space != XR_NULL_HANDLE) {
+ xrDestroySpace(local_floor_emulation.stage_space);
+ local_floor_emulation.stage_space = XR_NULL_HANDLE;
+ }
+ }
} else {
// Fallback on LOCAL, which all OpenXR runtimes are required to support.
print_verbose(String("OpenXR: ") + OpenXRUtil::get_reference_space_name(requested_reference_space) + String(" isn't supported, defaulting to LOCAL space."));
@@ -931,16 +972,11 @@ bool OpenXRAPI::setup_play_space() {
play_space = new_play_space;
reference_space = new_reference_space;
- emulating_local_floor = will_emulate_local_floor;
- if (emulating_local_floor) {
- // We'll use the STAGE space to get the floor height, but we can't do that until
- // after xrWaitFrame(), so just set this flag for now.
- // Render state will be updated then.
- should_reset_emulated_floor_height = true;
- } else {
- // Update render state so this play space is used rendering the upcoming frame.
- set_render_play_space(play_space);
- }
+ local_floor_emulation.enabled = will_emulate_local_floor;
+ local_floor_emulation.should_reset_floor_height = will_emulate_local_floor;
+
+ // Update render state so this play space is used rendering the upcoming frame.
+ set_render_play_space(play_space);
return true;
}
@@ -975,63 +1011,39 @@ bool OpenXRAPI::setup_view_space() {
}
bool OpenXRAPI::reset_emulated_floor_height() {
- ERR_FAIL_COND_V(!emulating_local_floor, false);
-
- // This is based on the example code in the OpenXR spec which shows how to
- // emulate LOCAL_FLOOR if it's not supported.
- // See: https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#XR_EXT_local_floor
+ ERR_FAIL_COND_V(!local_floor_emulation.enabled, false);
+ ERR_FAIL_COND_V(local_floor_emulation.local_space == XR_NULL_HANDLE, false);
+ ERR_FAIL_COND_V(local_floor_emulation.stage_space == XR_NULL_HANDLE, false);
XrResult result;
- XrPosef identityPose = {
- { 0.0, 0.0, 0.0, 1.0 },
- { 0.0, 0.0, 0.0 }
- };
-
- XrSpace local_space = XR_NULL_HANDLE;
- XrSpace stage_space = XR_NULL_HANDLE;
-
- XrReferenceSpaceCreateInfo create_info = {
- XR_TYPE_REFERENCE_SPACE_CREATE_INFO, // type
- nullptr, // next
- XR_REFERENCE_SPACE_TYPE_LOCAL, // referenceSpaceType
- identityPose, // poseInReferenceSpace
- };
-
- result = xrCreateReferenceSpace(session, &create_info, &local_space);
- if (XR_FAILED(result)) {
- print_line("OpenXR: Failed to create LOCAL space in order to emulate LOCAL_FLOOR [", get_error_string(result), "]");
- return false;
- }
-
- create_info.referenceSpaceType = XR_REFERENCE_SPACE_TYPE_STAGE;
- result = xrCreateReferenceSpace(session, &create_info, &stage_space);
- if (XR_FAILED(result)) {
- print_line("OpenXR: Failed to create STAGE space in order to emulate LOCAL_FLOOR [", get_error_string(result), "]");
- xrDestroySpace(local_space);
- return false;
- }
-
XrSpaceLocation stage_location = {
XR_TYPE_SPACE_LOCATION, // type
nullptr, // next
0, // locationFlags
- identityPose, // pose
+ { { 0.0, 0.0, 0.0, 1.0 }, { 0.0, 0.0, 0.0 } }, // pose
};
- result = xrLocateSpace(stage_space, local_space, get_predicted_display_time(), &stage_location);
-
- xrDestroySpace(local_space);
- xrDestroySpace(stage_space);
+ result = xrLocateSpace(local_floor_emulation.stage_space, local_floor_emulation.local_space, get_predicted_display_time(), &stage_location);
if (XR_FAILED(result)) {
print_line("OpenXR: Failed to locate STAGE space in LOCAL space, in order to emulate LOCAL_FLOOR [", get_error_string(result), "]");
return false;
}
+ XrPosef pose = {
+ { 0.0, 0.0, 0.0, 1.0 },
+ { 0.0, stage_location.pose.position.y, 0.0 }
+ };
+
+ XrReferenceSpaceCreateInfo create_info = {
+ XR_TYPE_REFERENCE_SPACE_CREATE_INFO, // type
+ nullptr, // next
+ XR_REFERENCE_SPACE_TYPE_LOCAL, // referenceSpaceType
+ pose, // poseInReferenceSpace
+ };
+
XrSpace new_play_space;
- create_info.referenceSpaceType = XR_REFERENCE_SPACE_TYPE_LOCAL;
- create_info.poseInReferenceSpace.position.y = stage_location.pose.position.y;
result = xrCreateReferenceSpace(session, &create_info, &new_play_space);
if (XR_FAILED(result)) {
print_line("OpenXR: Failed to recreate emulated LOCAL_FLOOR play space with latest floor estimate [", get_error_string(result), "]");
@@ -1275,6 +1287,16 @@ void OpenXRAPI::destroy_session() {
xrDestroySpace(view_space);
view_space = XR_NULL_HANDLE;
}
+ if (local_floor_emulation.local_space != XR_NULL_HANDLE) {
+ xrDestroySpace(local_floor_emulation.local_space);
+ local_floor_emulation.local_space = XR_NULL_HANDLE;
+ }
+ if (local_floor_emulation.stage_space != XR_NULL_HANDLE) {
+ xrDestroySpace(local_floor_emulation.stage_space);
+ local_floor_emulation.stage_space = XR_NULL_HANDLE;
+ }
+ local_floor_emulation.enabled = false;
+ local_floor_emulation.should_reset_floor_height = false;
if (supported_reference_spaces != nullptr) {
// free previous results
@@ -1953,8 +1975,8 @@ bool OpenXRAPI::poll_events() {
XrEventDataReferenceSpaceChangePending *event = (XrEventDataReferenceSpaceChangePending *)&runtimeEvent;
print_verbose(String("OpenXR EVENT: reference space type ") + OpenXRUtil::get_reference_space_name(event->referenceSpaceType) + " change pending!");
- if (emulating_local_floor) {
- should_reset_emulated_floor_height = true;
+ if (local_floor_emulation.enabled) {
+ local_floor_emulation.should_reset_floor_height = true;
}
if (event->poseValid && xr_interface) {
xr_interface->on_pose_recentered();
@@ -2097,16 +2119,18 @@ bool OpenXRAPI::process() {
set_render_display_info(frame_state.predictedDisplayTime, frame_state.shouldRender);
+ // This is before setup_play_space() to ensure that it happens on the frame after
+ // the play space has been created.
+ if (unlikely(local_floor_emulation.should_reset_floor_height && !play_space_is_dirty)) {
+ reset_emulated_floor_height();
+ local_floor_emulation.should_reset_floor_height = false;
+ }
+
if (unlikely(play_space_is_dirty)) {
setup_play_space();
play_space_is_dirty = false;
}
- if (unlikely(should_reset_emulated_floor_height)) {
- reset_emulated_floor_height();
- should_reset_emulated_floor_height = false;
- }
-
for (OpenXRExtensionWrapper *wrapper : registered_extension_wrappers) {
wrapper->on_process();
}
diff --git a/modules/openxr/openxr_api.h b/modules/openxr/openxr_api.h
index f9d2e60148..748ef3af94 100644
--- a/modules/openxr/openxr_api.h
+++ b/modules/openxr/openxr_api.h
@@ -165,8 +165,16 @@ private:
XrSpace view_space = XR_NULL_HANDLE;
XRPose::TrackingConfidence head_pose_confidence = XRPose::XR_TRACKING_CONFIDENCE_NONE;
- bool emulating_local_floor = false;
- bool should_reset_emulated_floor_height = false;
+ // When LOCAL_FLOOR isn't supported, we use an approach based on the example code in the
+ // OpenXR spec in order to emulate it.
+ // See: https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#XR_EXT_local_floor
+ struct LocalFloorEmulation {
+ bool enabled = false;
+ XrSpace local_space = XR_NULL_HANDLE;
+ XrSpace stage_space = XR_NULL_HANDLE;
+ bool should_reset_floor_height = false;
+ } local_floor_emulation;
+
bool reset_emulated_floor_height();
bool load_layer_properties();
diff --git a/modules/raycast/config.py b/modules/raycast/config.py
index 0fd35af528..2fa0058f88 100644
--- a/modules/raycast/config.py
+++ b/modules/raycast/config.py
@@ -1,6 +1,6 @@
def can_build(env, platform):
# Supported architectures and platforms depend on the Embree library.
- if env["arch"] == "arm64" and platform == "windows":
+ if env["arch"] == "arm64" and platform == "windows" and env.msvc:
return False
if env["arch"] in ["x86_64", "arm64", "wasm32"]:
return True
diff --git a/modules/regex/icons/RegEx.svg b/modules/regex/icons/RegEx.svg
index 4df26f41c0..ba232f6f0a 100644
--- a/modules/regex/icons/RegEx.svg
+++ b/modules/regex/icons/RegEx.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M2 14h3v-3H2zM6.561 2.855a21 21 0 0 1 2.82 1.185A21 21 0 0 1 9.137 1h1.77a21 21 0 0 1-.28 3.027 21 21 0 0 1 2.88-1.171l.562 1.733a21 21 0 0 1-3.04.684 21 21 0 0 1 2.1 2.307l-1.465 1.037a21 21 0 0 1-1.672-2.624 21 21 0 0 1-1.587 2.624L6.965 7.58a21 21 0 0 1 2.026-2.308A21 21 0 0 1 6 4.59z" fill="#e0e0e0"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M2 14h3v-3H2zM6.561 2.855a21 21 0 0 1 2.82 1.185A21 21 0 0 1 9.137 1h1.77a21 21 0 0 1-.28 3.027 21 21 0 0 1 2.88-1.171l.562 1.733a21 21 0 0 1-3.04.684 21 21 0 0 1 2.1 2.307l-1.465 1.037a21 21 0 0 1-1.672-2.624 21 21 0 0 1-1.587 2.624L6.965 7.58a21 21 0 0 1 2.026-2.308A21 21 0 0 1 6 4.59z"/></svg> \ No newline at end of file
diff --git a/modules/regex/icons/RegExMatch.svg b/modules/regex/icons/RegExMatch.svg
index 889cf6cc8a..626ff36691 100644
--- a/modules/regex/icons/RegExMatch.svg
+++ b/modules/regex/icons/RegExMatch.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M5 13h2v-2H5zm2.5-8a14 14 0 0 1 1.88.79 14 14 0 0 1-.163-2.027h1.18a14 14 0 0 1-.186 2.018 14 14 0 0 1 1.92-.78l.374 1.155a14 14 0 0 1-2.026.456 14 14 0 0 1 1.4 1.538l-.977.691a14 14 0 0 1-1.115-1.75 14 14 0 0 1-1.058 1.75l-.96-.691A14 14 0 0 1 9.12 6.61a14 14 0 0 1-1.993-.454zM1.67 2C0 5 0 11 1.67 14h2C2 11 2 5 3.67 2zm10.66 0c1.67 3 1.67 9 0 12h2c1.67-3 1.67-9 0-12z" fill="#e0e0e0"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#e0e0e0" d="M5 13h2v-2H5zm2.5-8a14 14 0 0 1 1.88.79 14 14 0 0 1-.163-2.027h1.18a14 14 0 0 1-.186 2.018 14 14 0 0 1 1.92-.78l.374 1.155a14 14 0 0 1-2.026.456 14 14 0 0 1 1.4 1.538l-.977.691a14 14 0 0 1-1.115-1.75 14 14 0 0 1-1.058 1.75l-.96-.691A14 14 0 0 1 9.12 6.61a14 14 0 0 1-1.993-.454zM1.67 2C0 5 0 11 1.67 14h2C2 11 2 5 3.67 2zm10.66 0c1.67 3 1.67 9 0 12h2c1.67-3 1.67-9 0-12z"/></svg> \ No newline at end of file
diff --git a/modules/text_server_adv/text_server_adv.cpp b/modules/text_server_adv/text_server_adv.cpp
index 361d88af90..0c87199635 100644
--- a/modules/text_server_adv/text_server_adv.cpp
+++ b/modules/text_server_adv/text_server_adv.cpp
@@ -6052,6 +6052,7 @@ void TextServerAdvanced::_shape_run(ShapedTextDataAdvanced *p_sd, int64_t p_star
unsigned int last_cluster_index = 0;
bool last_cluster_valid = true;
+ double adv_rem = 0.0;
for (unsigned int i = 0; i < glyph_count; i++) {
if ((i > 0) && (last_cluster_id != glyph_info[i].cluster)) {
if (p_direction == HB_DIRECTION_RTL || p_direction == HB_DIRECTION_BTT) {
@@ -6097,21 +6098,31 @@ void TextServerAdvanced::_shape_run(ShapedTextDataAdvanced *p_sd, int64_t p_star
gl.index = glyph_info[i].codepoint;
if (gl.index != 0) {
_ensure_glyph(fd, fss, gl.index | mod);
+ if (subpos) {
+ gl.x_off = (double)glyph_pos[i].x_offset / (64.0 / scale);
+ } else if (p_sd->orientation == ORIENTATION_HORIZONTAL) {
+ gl.x_off = Math::round(adv_rem + ((double)glyph_pos[i].x_offset / (64.0 / scale)));
+ } else {
+ gl.x_off = Math::round((double)glyph_pos[i].x_offset / (64.0 / scale));
+ }
+ if (p_sd->orientation == ORIENTATION_HORIZONTAL) {
+ gl.y_off = -Math::round((double)glyph_pos[i].y_offset / (64.0 / scale));
+ } else {
+ gl.y_off = -Math::round(adv_rem + ((double)glyph_pos[i].y_offset / (64.0 / scale)));
+ }
if (p_sd->orientation == ORIENTATION_HORIZONTAL) {
if (subpos) {
gl.advance = (double)glyph_pos[i].x_advance / (64.0 / scale) + ea;
} else {
- gl.advance = Math::round((double)glyph_pos[i].x_advance / (64.0 / scale) + ea);
+ double full_adv = adv_rem + ((double)glyph_pos[i].x_advance / (64.0 / scale) + ea);
+ gl.advance = Math::round(full_adv);
+ adv_rem = full_adv - gl.advance;
}
} else {
- gl.advance = -Math::round((double)glyph_pos[i].y_advance / (64.0 / scale));
+ double full_adv = adv_rem + ((double)glyph_pos[i].y_advance / (64.0 / scale));
+ gl.advance = -Math::round(full_adv);
+ adv_rem = full_adv + gl.advance;
}
- if (subpos) {
- gl.x_off = (double)glyph_pos[i].x_offset / (64.0 / scale);
- } else {
- gl.x_off = Math::round((double)glyph_pos[i].x_offset / (64.0 / scale));
- }
- gl.y_off = -Math::round((double)glyph_pos[i].y_offset / (64.0 / scale));
if (p_sd->orientation == ORIENTATION_HORIZONTAL) {
gl.y_off += _font_get_baseline_offset(gl.font_rid) * (double)(_font_get_ascent(gl.font_rid, gl.font_size) + _font_get_descent(gl.font_rid, gl.font_size));
} else {
@@ -7037,10 +7048,10 @@ PackedInt32Array TextServerAdvanced::_string_get_word_breaks(const String &p_str
HashSet<int> breaks;
UErrorCode err = U_ZERO_ERROR;
- UBreakIterator *bi = ubrk_open(UBRK_LINE, lang.ascii().get_data(), (const UChar *)utf16.get_data(), utf16.length(), &err);
+ UBreakIterator *bi = ubrk_open(UBRK_WORD, lang.ascii().get_data(), (const UChar *)utf16.get_data(), utf16.length(), &err);
if (U_SUCCESS(err)) {
while (ubrk_next(bi) != UBRK_DONE) {
- int pos = _convert_pos(p_string, utf16, ubrk_current(bi)) - 1;
+ int pos = _convert_pos(p_string, utf16, ubrk_current(bi));
if (pos != p_string.length() - 1) {
breaks.insert(pos);
}
@@ -7050,79 +7061,111 @@ PackedInt32Array TextServerAdvanced::_string_get_word_breaks(const String &p_str
PackedInt32Array ret;
- int line_start = 0;
- int line_end = 0; // End of last word on current line.
- int word_start = 0; // -1 if no word encountered. Leading spaces are part of a word.
- int word_length = 0;
+ if (p_chars_per_line > 0) {
+ int line_start = 0;
+ int last_break = -1;
+ int line_length = 0;
- for (int i = 0; i < p_string.length(); i++) {
- const char32_t c = p_string[i];
+ for (int i = 0; i < p_string.length(); i++) {
+ const char32_t c = p_string[i];
- if (is_linebreak(c)) {
- // Force newline.
- ret.push_back(line_start);
- ret.push_back(i);
- line_start = i + 1;
- line_end = line_start;
- word_start = line_start;
- word_length = 0;
- } else if (c == 0xfffc) {
- continue;
- } else if ((u_ispunct(c) && c != 0x005F) || is_underscore(c) || c == '\t' || is_whitespace(c)) {
- // A whitespace ends current word.
- if (word_length > 0) {
- line_end = i - 1;
- word_start = -1;
- word_length = 0;
- }
- } else if (breaks.has(i)) {
- // End current word, no space.
- if (word_length > 0) {
- line_end = i;
- word_start = i + 1;
- word_length = 0;
- }
- if (p_chars_per_line <= 0) {
- ret.push_back(line_start);
- ret.push_back(line_end + 1);
- line_start = word_start;
- line_end = line_start;
- }
- } else {
- if (word_start == -1) {
- word_start = i;
- if (p_chars_per_line <= 0) {
+ bool is_lb = is_linebreak(c);
+ bool is_ws = is_whitespace(c);
+ bool is_p = (u_ispunct(c) && c != 0x005F) || is_underscore(c) || c == '\t' || c == 0xfffc;
+
+ if (is_lb) {
+ if (line_length > 0) {
ret.push_back(line_start);
- ret.push_back(line_end + 1);
- line_start = word_start;
- line_end = line_start;
+ ret.push_back(i);
}
+ line_start = i;
+ line_length = 0;
+ last_break = -1;
+ continue;
+ } else if (breaks.has(i) || is_ws || is_p) {
+ last_break = i;
}
- word_length += 1;
- if (p_chars_per_line > 0) {
- if (word_length > p_chars_per_line) {
- // Word too long: wrap before current character.
+ if (line_length == p_chars_per_line) {
+ if (last_break != -1) {
+ int last_break_w_spaces = last_break;
+ while (last_break > line_start && is_whitespace(p_string[last_break - 1])) {
+ last_break--;
+ }
+ if (line_start != last_break) {
+ ret.push_back(line_start);
+ ret.push_back(last_break);
+ }
+ while (last_break_w_spaces < p_string.length() && is_whitespace(p_string[last_break_w_spaces])) {
+ last_break_w_spaces++;
+ }
+ line_start = last_break_w_spaces;
+ if (last_break_w_spaces < i) {
+ line_length = i - last_break_w_spaces;
+ } else {
+ i = last_break_w_spaces;
+ line_length = 0;
+ }
+ } else {
ret.push_back(line_start);
ret.push_back(i);
line_start = i;
- line_end = i;
+ line_length = 0;
+ }
+ last_break = -1;
+ }
+ line_length++;
+ }
+ if (line_length > 0) {
+ ret.push_back(line_start);
+ ret.push_back(p_string.length());
+ }
+ } else {
+ int word_start = 0; // -1 if no word encountered. Leading spaces are part of a word.
+ int word_length = 0;
+
+ for (int i = 0; i < p_string.length(); i++) {
+ const char32_t c = p_string[i];
+
+ bool is_lb = is_linebreak(c);
+ bool is_ws = is_whitespace(c);
+ bool is_p = (u_ispunct(c) && c != 0x005F) || is_underscore(c) || c == '\t' || c == 0xfffc;
+
+ if (word_start == -1) {
+ if (!is_lb && !is_ws && !is_p) {
word_start = i;
- word_length = 1;
- } else if (i - line_start + 1 > p_chars_per_line) {
- // Line too long: wrap after the last word.
- ret.push_back(line_start);
- ret.push_back(line_end + 1);
- line_start = word_start;
- line_end = line_start;
}
+ continue;
+ }
+
+ if (is_lb) {
+ if (word_start != -1 && word_length > 0) {
+ ret.push_back(word_start);
+ ret.push_back(i);
+ }
+ word_start = -1;
+ word_length = 0;
+ } else if (breaks.has(i) || is_ws || is_p) {
+ if (word_start != -1 && word_length > 0) {
+ ret.push_back(word_start);
+ ret.push_back(i);
+ }
+ if (is_ws || is_p) {
+ word_start = -1;
+ } else {
+ word_start = i;
+ }
+ word_length = 0;
}
+
+ word_length++;
+ }
+ if (word_start != -1 && word_length > 0) {
+ ret.push_back(word_start);
+ ret.push_back(p_string.length());
}
}
- if (line_start < p_string.length()) {
- ret.push_back(line_start);
- ret.push_back(p_string.length());
- }
+
return ret;
}
diff --git a/modules/text_server_fb/text_server_fb.cpp b/modules/text_server_fb/text_server_fb.cpp
index 697c3366c5..6cf6b236ed 100644
--- a/modules/text_server_fb/text_server_fb.cpp
+++ b/modules/text_server_fb/text_server_fb.cpp
@@ -4492,65 +4492,105 @@ String TextServerFallback::_string_to_title(const String &p_string, const String
PackedInt32Array TextServerFallback::_string_get_word_breaks(const String &p_string, const String &p_language, int64_t p_chars_per_line) const {
PackedInt32Array ret;
- int line_start = 0;
- int line_end = 0; // End of last word on current line.
- int word_start = 0; // -1 if no word encountered. Leading spaces are part of a word.
- int word_length = 0;
+ if (p_chars_per_line > 0) {
+ int line_start = 0;
+ int last_break = -1;
+ int line_length = 0;
- for (int i = 0; i < p_string.length(); i++) {
- const char32_t c = p_string[i];
+ for (int i = 0; i < p_string.length(); i++) {
+ const char32_t c = p_string[i];
- if (is_linebreak(c)) {
- // Force newline.
- ret.push_back(line_start);
- ret.push_back(i);
- line_start = i + 1;
- line_end = line_start;
- word_start = line_start;
- word_length = 0;
- } else if (c == 0xfffc) {
- continue;
- } else if ((is_punct(c) && c != 0x005F) || is_underscore(c) || c == '\t' || is_whitespace(c)) {
- // A whitespace ends current word.
- if (word_length > 0) {
- line_end = i - 1;
- word_start = -1;
- word_length = 0;
- }
- } else {
- if (word_start == -1) {
- word_start = i;
- if (p_chars_per_line <= 0) {
+ bool is_lb = is_linebreak(c);
+ bool is_ws = is_whitespace(c);
+ bool is_p = (is_punct(c) && c != 0x005F) || is_underscore(c) || c == '\t' || c == 0xfffc;
+
+ if (is_lb) {
+ if (line_length > 0) {
ret.push_back(line_start);
- ret.push_back(line_end + 1);
- line_start = word_start;
- line_end = line_start;
+ ret.push_back(i);
}
+ line_start = i;
+ line_length = 0;
+ last_break = -1;
+ continue;
+ } else if (is_ws || is_p) {
+ last_break = i;
}
- word_length += 1;
- if (p_chars_per_line > 0) {
- if (word_length > p_chars_per_line) {
- // Word too long: wrap before current character.
+ if (line_length == p_chars_per_line) {
+ if (last_break != -1) {
+ int last_break_w_spaces = last_break;
+ while (last_break > line_start && is_whitespace(p_string[last_break - 1])) {
+ last_break--;
+ }
+ if (line_start != last_break) {
+ ret.push_back(line_start);
+ ret.push_back(last_break);
+ }
+ while (last_break_w_spaces < p_string.length() && is_whitespace(p_string[last_break_w_spaces])) {
+ last_break_w_spaces++;
+ }
+ line_start = last_break_w_spaces;
+ if (last_break_w_spaces < i) {
+ line_length = i - last_break_w_spaces;
+ } else {
+ i = last_break_w_spaces;
+ line_length = 0;
+ }
+ } else {
ret.push_back(line_start);
ret.push_back(i);
line_start = i;
- line_end = i;
+ line_length = 0;
+ }
+ last_break = -1;
+ }
+ line_length++;
+ }
+ if (line_length > 0) {
+ ret.push_back(line_start);
+ ret.push_back(p_string.length());
+ }
+ } else {
+ int word_start = 0; // -1 if no word encountered. Leading spaces are part of a word.
+ int word_length = 0;
+
+ for (int i = 0; i < p_string.length(); i++) {
+ const char32_t c = p_string[i];
+
+ bool is_lb = is_linebreak(c);
+ bool is_ws = is_whitespace(c);
+ bool is_p = (is_punct(c) && c != 0x005F) || is_underscore(c) || c == '\t' || c == 0xfffc;
+
+ if (word_start == -1) {
+ if (!is_lb && !is_ws && !is_p) {
word_start = i;
- word_length = 1;
- } else if (i - line_start + 1 > p_chars_per_line) {
- // Line too long: wrap after the last word.
- ret.push_back(line_start);
- ret.push_back(line_end + 1);
- line_start = word_start;
- line_end = line_start;
}
+ continue;
}
+
+ if (is_lb) {
+ if (word_start != -1 && word_length > 0) {
+ ret.push_back(word_start);
+ ret.push_back(i);
+ }
+ word_start = -1;
+ word_length = 0;
+ } else if (is_ws || is_p) {
+ if (word_start != -1 && word_length > 0) {
+ ret.push_back(word_start);
+ ret.push_back(i);
+ }
+ word_start = -1;
+ word_length = 0;
+ }
+
+ word_length++;
+ }
+ if (word_start != -1 && word_length > 0) {
+ ret.push_back(word_start);
+ ret.push_back(p_string.length());
}
- }
- if (line_start < p_string.length()) {
- ret.push_back(line_start);
- ret.push_back(p_string.length());
}
return ret;
}
diff --git a/modules/vorbis/audio_stream_ogg_vorbis.cpp b/modules/vorbis/audio_stream_ogg_vorbis.cpp
index b235b6f96c..ff032c88c6 100644
--- a/modules/vorbis/audio_stream_ogg_vorbis.cpp
+++ b/modules/vorbis/audio_stream_ogg_vorbis.cpp
@@ -376,6 +376,22 @@ void AudioStreamPlaybackOggVorbis::seek(double p_time) {
}
}
+void AudioStreamPlaybackOggVorbis::set_is_sample(bool p_is_sample) {
+ _is_sample = p_is_sample;
+}
+
+bool AudioStreamPlaybackOggVorbis::get_is_sample() const {
+ return _is_sample;
+}
+
+Ref<AudioSamplePlayback> AudioStreamPlaybackOggVorbis::get_sample_playback() const {
+ return sample_playback;
+}
+
+void AudioStreamPlaybackOggVorbis::set_sample_playback(const Ref<AudioSamplePlayback> &p_playback) {
+ sample_playback = p_playback;
+}
+
AudioStreamPlaybackOggVorbis::~AudioStreamPlaybackOggVorbis() {
if (block_is_allocated) {
vorbis_block_clear(&block);
@@ -517,6 +533,18 @@ void AudioStreamOggVorbis::get_parameter_list(List<Parameter> *r_parameters) {
r_parameters->push_back(Parameter(PropertyInfo(Variant::BOOL, "looping", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_CHECKABLE), Variant()));
}
+Ref<AudioSample> AudioStreamOggVorbis::generate_sample() const {
+ Ref<AudioSample> sample;
+ sample.instantiate();
+ sample->stream = this;
+ sample->loop_mode = loop
+ ? AudioSample::LoopMode::LOOP_FORWARD
+ : AudioSample::LoopMode::LOOP_DISABLED;
+ sample->loop_begin = loop_offset;
+ sample->loop_end = 0;
+ return sample;
+}
+
void AudioStreamOggVorbis::_bind_methods() {
ClassDB::bind_static_method("AudioStreamOggVorbis", D_METHOD("load_from_buffer", "buffer"), &AudioStreamOggVorbis::load_from_buffer);
ClassDB::bind_static_method("AudioStreamOggVorbis", D_METHOD("load_from_file", "path"), &AudioStreamOggVorbis::load_from_file);
diff --git a/modules/vorbis/audio_stream_ogg_vorbis.h b/modules/vorbis/audio_stream_ogg_vorbis.h
index 64a7815b57..6293951f8d 100644
--- a/modules/vorbis/audio_stream_ogg_vorbis.h
+++ b/modules/vorbis/audio_stream_ogg_vorbis.h
@@ -75,6 +75,9 @@ class AudioStreamPlaybackOggVorbis : public AudioStreamPlaybackResampled {
Ref<OggPacketSequencePlayback> vorbis_data_playback;
Ref<AudioStreamOggVorbis> vorbis_stream;
+ bool _is_sample = false;
+ Ref<AudioSamplePlayback> sample_playback;
+
int _mix_frames(AudioFrame *p_buffer, int p_frames);
int _mix_frames_vorbis(AudioFrame *p_buffer, int p_frames);
@@ -100,6 +103,11 @@ public:
virtual void set_parameter(const StringName &p_name, const Variant &p_value) override;
virtual Variant get_parameter(const StringName &p_name) const override;
+ virtual void set_is_sample(bool p_is_sample) override;
+ virtual bool get_is_sample() const override;
+ virtual Ref<AudioSamplePlayback> get_sample_playback() const override;
+ virtual void set_sample_playback(const Ref<AudioSamplePlayback> &p_playback) override;
+
AudioStreamPlaybackOggVorbis() {}
~AudioStreamPlaybackOggVorbis();
};
@@ -159,6 +167,11 @@ public:
virtual void get_parameter_list(List<Parameter> *r_parameters) override;
+ virtual bool can_be_sampled() const override {
+ return true;
+ }
+ virtual Ref<AudioSample> generate_sample() const override;
+
AudioStreamOggVorbis();
virtual ~AudioStreamOggVorbis();
};
diff --git a/modules/webxr/doc_classes/WebXRInterface.xml b/modules/webxr/doc_classes/WebXRInterface.xml
index 9fd4511d2b..bd7192520a 100644
--- a/modules/webxr/doc_classes/WebXRInterface.xml
+++ b/modules/webxr/doc_classes/WebXRInterface.xml
@@ -54,9 +54,10 @@
# supported.
webxr_interface.requested_reference_space_types = 'bounded-floor, local-floor, local'
# In order to use 'local-floor' or 'bounded-floor' we must also
- # mark the features as required or optional.
+ # mark the features as required or optional. By including 'hand-tracking'
+ # as an optional feature, it will be enabled if supported.
webxr_interface.required_features = 'local-floor'
- webxr_interface.optional_features = 'bounded-floor'
+ webxr_interface.optional_features = 'bounded-floor, hand-tracking'
# This will return false if we're unable to even request the session,
# however, it can still fail asynchronously later in the process, so we
@@ -73,7 +74,10 @@
# This will be the reference space type you ultimately got, out of the
# types that you requested above. This is useful if you want the game to
# work a little differently in 'bounded-floor' versus 'local-floor'.
- print ("Reference space type: " + webxr_interface.reference_space_type)
+ print("Reference space type: ", webxr_interface.reference_space_type)
+ # This will be the list of features that were successfully enabled
+ # (except on browsers that don't support this property).
+ print("Enabled features: ", webxr_interface.enabled_features)
func _webxr_session_ended():
$Button.visible = true
@@ -155,13 +159,14 @@
<members>
<member name="enabled_features" type="String" setter="" getter="get_enabled_features">
A comma-separated list of features that were successfully enabled by [method XRInterface.initialize] when setting up the WebXR session.
- This may include features requested by setting [member required_features] and [member optional_features].
+ This may include features requested by setting [member required_features] and [member optional_features], and will only be available after [signal session_started] has been emitted.
+ [b]Note:[/b] This may not be support by all web browsers, in which case it will be an empty string.
</member>
<member name="optional_features" type="String" setter="set_optional_features" getter="get_optional_features">
A comma-seperated list of optional features used by [method XRInterface.initialize] when setting up the WebXR session.
If a user's browser or device doesn't support one of the given features, initialization will continue, but you won't be able to use the requested feature.
This doesn't have any effect on the interface when already initialized.
- Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to use a particular reference space type, it must be listed in either [member required_features] or [member optional_features].
+ Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url], or include other features like [code]"hand-tracking"[/code] to enable hand tracking.
</member>
<member name="reference_space_type" type="String" setter="" getter="get_reference_space_type">
The reference space type (from the list of requested types set in the [member requested_reference_space_types] property), that was ultimately used by [method XRInterface.initialize] when setting up the WebXR session.
@@ -177,7 +182,7 @@
A comma-seperated list of required features used by [method XRInterface.initialize] when setting up the WebXR session.
If a user's browser or device doesn't support one of the given features, initialization will fail and [signal session_failed] will be emitted.
This doesn't have any effect on the interface when already initialized.
- Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url]. If you want to use a particular reference space type, it must be listed in either [member required_features] or [member optional_features].
+ Possible values come from [url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType]WebXR's XRReferenceSpaceType[/url], or include other features like [code]"hand-tracking"[/code] to enable hand tracking.
</member>
<member name="session_mode" type="String" setter="set_session_mode" getter="get_session_mode">
The session mode used by [method XRInterface.initialize] when setting up the WebXR session.
diff --git a/modules/webxr/godot_webxr.h b/modules/webxr/godot_webxr.h
index caa7f217af..1b3e3b6a41 100644
--- a/modules/webxr/godot_webxr.h
+++ b/modules/webxr/godot_webxr.h
@@ -45,7 +45,7 @@ enum WebXRInputEvent {
};
typedef void (*GodotWebXRSupportedCallback)(char *p_session_mode, int p_supported);
-typedef void (*GodotWebXRStartedCallback)(char *p_reference_space_type, char *p_enabled_features);
+typedef void (*GodotWebXRStartedCallback)(char *p_reference_space_type, char *p_enabled_features, char *p_environment_blend_mode);
typedef void (*GodotWebXREndedCallback)();
typedef void (*GodotWebXRFailedCallback)(char *p_message);
typedef void (*GodotWebXRInputEventCallback)(int p_event_type, int p_input_source_id);
diff --git a/modules/webxr/native/library_godot_webxr.js b/modules/webxr/native/library_godot_webxr.js
index 031530a047..155409f931 100644
--- a/modules/webxr/native/library_godot_webxr.js
+++ b/modules/webxr/native/library_godot_webxr.js
@@ -320,10 +320,14 @@ const GodotWebXR = {
// next reference space.
window.setTimeout(function () {
const reference_space_c_str = GodotRuntime.allocString(reference_space_type);
- const enabled_features_c_str = GodotRuntime.allocString(Array.from(session.enabledFeatures).join(','));
- onstarted(reference_space_c_str, enabled_features_c_str);
+ const enabled_features = 'enabledFeatures' in session ? Array.from(session.enabledFeatures) : [];
+ const enabled_features_c_str = GodotRuntime.allocString(enabled_features.join(','));
+ const environment_blend_mode = 'environmentBlendMode' in session ? session.environmentBlendMode : '';
+ const environment_blend_mode_c_str = GodotRuntime.allocString(environment_blend_mode);
+ onstarted(reference_space_c_str, enabled_features_c_str, environment_blend_mode_c_str);
GodotRuntime.free(reference_space_c_str);
GodotRuntime.free(enabled_features_c_str);
+ GodotRuntime.free(environment_blend_mode_c_str);
}, 0);
}
diff --git a/modules/webxr/native/webxr.externs.js b/modules/webxr/native/webxr.externs.js
index 35ad33fa93..18125d7869 100644
--- a/modules/webxr/native/webxr.externs.js
+++ b/modules/webxr/native/webxr.externs.js
@@ -78,6 +78,16 @@ XRSession.prototype.frameRate;
XRSession.prototype.supportedFrameRates;
/**
+ * @type {Array<string>}
+ */
+XRSession.prototype.enabledFeatures;
+
+/**
+ * @type {string}
+ */
+XRSession.prototype.environmentBlendMode;
+
+/**
* @type {?function (Event)}
*/
XRSession.prototype.onend;
diff --git a/modules/webxr/webxr_interface_js.cpp b/modules/webxr/webxr_interface_js.cpp
index 916566fc1b..78a9db9b19 100644
--- a/modules/webxr/webxr_interface_js.cpp
+++ b/modules/webxr/webxr_interface_js.cpp
@@ -58,7 +58,7 @@ void _emwebxr_on_session_supported(char *p_session_mode, int p_supported) {
interface->emit_signal(SNAME("session_supported"), session_mode, p_supported ? true : false);
}
-void _emwebxr_on_session_started(char *p_reference_space_type, char *p_enabled_features) {
+void _emwebxr_on_session_started(char *p_reference_space_type, char *p_enabled_features, char *p_environment_blend_mode) {
XRServer *xr_server = XRServer::get_singleton();
ERR_FAIL_NULL(xr_server);
@@ -68,6 +68,7 @@ void _emwebxr_on_session_started(char *p_reference_space_type, char *p_enabled_f
String reference_space_type = String(p_reference_space_type);
interface->_set_reference_space_type(reference_space_type);
interface->_set_enabled_features(p_enabled_features);
+ interface->_set_environment_blend_mode(p_environment_blend_mode);
interface->emit_signal(SNAME("session_started"));
}
@@ -230,6 +231,44 @@ Array WebXRInterfaceJS::get_available_display_refresh_rates() const {
return ret;
}
+Array WebXRInterfaceJS::get_supported_environment_blend_modes() {
+ Array blend_modes;
+ // The blend mode can't be changed, so return the current blend mode as the only supported one.
+ blend_modes.push_back(environment_blend_mode);
+ return blend_modes;
+}
+
+XRInterface::EnvironmentBlendMode WebXRInterfaceJS::get_environment_blend_mode() const {
+ return environment_blend_mode;
+}
+
+bool WebXRInterfaceJS::set_environment_blend_mode(EnvironmentBlendMode p_new_environment_blend_mode) {
+ if (environment_blend_mode == p_new_environment_blend_mode) {
+ // Environment blend mode can't be changed, but we'll consider it a success to set it
+ // to what it already is.
+ return true;
+ }
+ return false;
+}
+
+void WebXRInterfaceJS::_set_environment_blend_mode(String p_blend_mode_string) {
+ if (p_blend_mode_string == "opaque") {
+ environment_blend_mode = XRInterface::XR_ENV_BLEND_MODE_OPAQUE;
+ } else if (p_blend_mode_string == "additive") {
+ environment_blend_mode = XRInterface::XR_ENV_BLEND_MODE_ADDITIVE;
+ } else if (p_blend_mode_string == "alpha-blend") {
+ environment_blend_mode = XRInterface::XR_ENV_BLEND_MODE_ALPHA_BLEND;
+ } else {
+ // Not all browsers can give us this information, so as a fallback,
+ // we'll make some guesses about the blend mode.
+ if (session_mode == "immersive-ar") {
+ environment_blend_mode = XRInterface::XR_ENV_BLEND_MODE_ALPHA_BLEND;
+ } else {
+ environment_blend_mode = XRInterface::XR_ENV_BLEND_MODE_OPAQUE;
+ }
+ }
+}
+
StringName WebXRInterfaceJS::get_name() const {
return "WebXR";
};
@@ -336,6 +375,7 @@ void WebXRInterfaceJS::uninitialize() {
texture_cache.clear();
reference_space_type.clear();
enabled_features.clear();
+ environment_blend_mode = XRInterface::XR_ENV_BLEND_MODE_OPAQUE;
initialized = false;
};
};
@@ -740,12 +780,20 @@ void WebXRInterfaceJS::_update_input_source(int p_input_source_id) {
// WebXR doesn't have a palm joint, so we calculate it by finding the middle of the middle finger metacarpal bone.
{
- // 10 is the WebXR middle finger metacarpal joint, and 12 is the offset to the transform origin.
- const float *start_pos = hand_joints + (10 * 16) + 12;
- // 11 is the WebXR middle finger phalanx proximal joint, and 12 is the offset to the transform origin.
- const float *end_pos = hand_joints + (11 * 16) + 12;
- Transform3D palm_transform;
- palm_transform.origin = (Vector3(start_pos[0], start_pos[1], start_pos[2]) + Vector3(end_pos[0], end_pos[1], end_pos[2])) / 2.0;
+ // Start by getting the middle finger metacarpal joint.
+ // Note: 10 is the WebXR middle finger metacarpal joint.
+ Transform3D palm_transform = _js_matrix_to_transform(hand_joints + (10 * 16));
+ palm_transform.basis *= bone_adjustment;
+
+ // Get the middle finger phalanx position.
+ // Note: 11 is the WebXR middle finger phalanx proximal joint and 12 is the origin offset.
+ const float *phalanx_pos = hand_joints + (11 * 16) + 12;
+ Vector3 phalanx(phalanx_pos[0], phalanx_pos[1], phalanx_pos[2]);
+
+ // Offset the palm half-way towards the phalanx joint.
+ palm_transform.origin = (palm_transform.origin + phalanx) / 2.0;
+
+ // Set the palm joint and the pose.
hand_tracker->set_hand_joint_transform(XRHandTracker::HAND_JOINT_PALM, palm_transform);
hand_tracker->set_pose("default", palm_transform, Vector3(), Vector3());
}
diff --git a/modules/webxr/webxr_interface_js.h b/modules/webxr/webxr_interface_js.h
index afce28d410..d02c8d2677 100644
--- a/modules/webxr/webxr_interface_js.h
+++ b/modules/webxr/webxr_interface_js.h
@@ -60,6 +60,8 @@ private:
String reference_space_type;
String enabled_features;
+ XRInterface::EnvironmentBlendMode environment_blend_mode = XRInterface::XR_ENV_BLEND_MODE_OPAQUE;
+
Size2 render_targetsize;
RBMap<unsigned int, RID> texture_cache;
struct Touch {
@@ -113,6 +115,10 @@ public:
virtual void set_display_refresh_rate(float p_refresh_rate) override;
virtual Array get_available_display_refresh_rates() const override;
+ virtual Array get_supported_environment_blend_modes() override;
+ virtual XRInterface::EnvironmentBlendMode get_environment_blend_mode() const override;
+ virtual bool set_environment_blend_mode(EnvironmentBlendMode p_new_environment_blend_mode) override;
+
virtual StringName get_name() const override;
virtual uint32_t get_capabilities() const override;
@@ -136,8 +142,10 @@ public:
void _on_input_event(int p_event_type, int p_input_source_id);
+ // Internal setters used by callbacks from Emscripten.
inline void _set_reference_space_type(String p_reference_space_type) { reference_space_type = p_reference_space_type; }
inline void _set_enabled_features(String p_enabled_features) { enabled_features = p_enabled_features; }
+ void _set_environment_blend_mode(String p_blend_mode_string);
WebXRInterfaceJS();
~WebXRInterfaceJS();