1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00
Commit Graph

802 Commits

Author SHA1 Message Date
Fredrik Lindahl
01056f369a [.NET] Avoid heap allocation when using StringNames as key in a Collection.Dictionary.
Changed StringName GetHashCode to call godot_string_name.GetHashCode instead of godot_string_name's (which was not overridden) as this otherwise leads to heap allocations when e.g. calling the indexer in a Dictionary with `StringName` type as Key.
2025-05-08 08:41:22 +02:00
Thaddeus Crews
561dc6ced6 Merge pull request #104689 from Delsin-Yu/csharp-getset-alloc-perf
[.Net] Avoid unnecessary StringName allocations on not implemented virtual _Get and _Set method call
2025-04-14 19:39:53 -05:00
DE-YU_H14
f0ec392bb1 [.Net] Avoid StringName allocations if type does not defines _Get or _Set 2025-04-12 03:39:24 +08:00
Zae
e8311840e4 [.NET] Fix string.PathJoin to be consistent with core 2025-04-11 23:21:29 +08:00
Priahoud
bf963e767e Add Options, Functions and Settings to convert Node-Names and Strings to kebab-case
- refactored and renamed String::_camelcase_to_underscore to String:_separate_compound_words
- refactored String::to_snake_case to work with the refactored String::_separate_compound_words
- created char_utils::is_hyphen to catch all hyphen variants in kebab-case conversion
- created String::to_kebab_case using the new String::_separate_compound_words
- created corresponding Documentation in String and StringName
- simplified both switch statements in EditorNode and ProjectDialog
- added new kebab-casing Option for Node Names in ProjectSettings
- added missing camelCase Options to Scene- and Node-Names in ProjectSettings
- simplified Mono RuntimeInterop Functions
- hooked up the ConnectionsDialog
- created additional Unit Tests
2025-04-10 21:22:21 +02:00
DE YU
af67fb1f62 Avoid array allocation when signal have 0 arg 2025-04-06 16:02:35 +08:00
Thaddeus Crews
780cf03051 Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
Lukas Tenbrink
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
2750558108
6a56ed8926 Fix nested GodotObject class in generic class lead to source generator errors in C# 2025-03-22 20:46:52 +08:00
Aaron Franke
ced61da848 Add missing Projection constructor with 16 real_t values 2025-03-14 02:57:19 -07:00
Thaddeus Crews
4af4b66d1b Merge pull request #102765 from Delsin-Yu/csharp-typed-collections-documentation-improvments
[C#] Improve Documentation for Typed `Godot.Collections` Wrappers
2025-03-10 21:05:52 -05:00
Thaddeus Crews
30bb49ec1f Merge pull request #102356 from a-johnston/add_missing_cs_vector_methods
Add `Min(float)` and octahedron encode/decode to `Vector3.cs`
2025-03-10 10:01:20 -05:00
Thaddeus Crews
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Rémi Verschelde
a414fed4c5 Merge pull request #98034 from raulsntos/dotnet/variant-object-id
[.NET] Use `ObjectID` when converting `Variant` to `GodotObject`
2025-03-04 01:00:16 +01:00
Rémi Verschelde
1c35a31b9e Bump version to 4.5-dev
Mr. Godot told me to tell you he won't come this evening but surely tomorrow.
2025-03-03 17:27:40 +01:00
DE-YU_H14
288e3e3af2 Improve documentation for C# typed collection wrappers 2025-02-14 08:19:58 +08:00
Raul Santos
f4094b554d [.NET] Disallow [ExportToolButton] on members thay may store the Callable
Ensures the user doesn't store the Callable so the .NET assembly can be reloaded.
2025-02-14 01:09:59 +01:00
bruvzg
3be46a69c4 Fix uppercase B and X parsing in the integer literals. 2025-02-05 16:02:06 +02:00
Adam Johnston
14f7e6ff60 Add Min(float) and octahedron encode/decode to Vector3.cs 2025-02-04 14:21:25 -08:00
Pedro J. Estébanez
318af42020 Include more attributes in the global class names cache 2025-01-29 09:39:50 +01:00
LuoZhihao
a71a8c6e1e C#: Expose OKHSL properties of Color 2025-01-09 19:18:56 +08:00
A Thousand Ships
a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Thaddeus Crews
8642e970c5 C#: Add option to treat warnings as errors 2024-12-18 10:23:41 -06:00
Rémi Verschelde
7d30972f7c Merge pull request #99539 from RandomShaper/fix_dotnet_rl_deadlock
Avoid deadlocks in multi-threaded management of the C# script map
2024-12-18 09:53:01 +01:00
Rémi Verschelde
4047e4b894 .NET: Downgrade Microsoft.CodeAnalysis.CSharp to 4.8.0 for compat with SDK 8.0.1xy
And for CI, set up .NET SDK 8.0.100 explicitly to test our min supported version.
2024-12-17 15:56:56 +01:00
Paul Joannon
fb8553e4d7 Move to .NET8
- Change TFM and LangVersion
- Better exception throwing (CA1510, CA1512, CA1513)
- Better exception utility method definition (CA1859)
- Prefer comparing `.Count` over calling `.Any()` (CA1860)
- Prefer `.AsSpan()` over `.Substring()` (CA1846)
- Add a few more `scoped`
- Use `RuntimeHelpers.GetUninitializedObject()` instead of `FormatterServices.GetUninitializedObject()`
- Use delegate instead of delegate pointer in variant generic conversions
- Enable EnforceExtendedAnalyzerRules in source generator projects
- Disable CS8981 on structs named movable in Godot.NativeInterop
2024-12-13 14:00:13 +01:00
RedworkDE
f0b6b24d9e C#: Update to net7.0
Because of ref safety changes in the languages, all methods that return an interop struct have to have all other reference parameters marked as scoped to signal the the method does not capture that reference.

The variant change is necessary, because for some reason a type of the exact shape godot_variant is in, crashes the .NET 7 JIT, but when changing it to be sequential with the same effective layout it works.
2024-12-12 17:42:39 +01:00
Thaddeus Crews
57d08dbec3 C#: Fix warnings caught by new problem-matchers
• Restore MSVC problem matcher for Linux builds
2024-12-10 14:04:35 -06:00
Juan Pablo Arce
8ab27a7ccf Fix generic arrays and dictionaries not calling set_typed 2024-12-08 01:01:19 -03:00
Pedro J. Estébanez
f8f5505b26 Avoid deadlocks in multi-threaded management of the C# script map 2024-12-03 07:38:14 +01:00
Thaddeus Crews
ec7fd4f6f1 Merge pull request #97894 from paulloz/dotnet/export-tool-button
Implement `[ExportToolButton]`
2024-11-19 15:20:07 -06:00
Paul Joannon
4f52c2bb1f Implement [ExportToolButton] 2024-11-18 20:19:47 +01:00
Zae
06df5275c2 C#: Fix StringName leak when converting Variant to Signal / Callable 2024-10-24 00:08:43 +08:00
Raul Santos
bfcc389e21 [.NET] Use ObjectID when converting Variant to GodotObject 2024-10-09 21:19:53 +02:00
DE YU
d4695e84a4 Add ReadOnlySpan API Overloads
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-09 23:14:38 +08:00
Juan Pablo Arce
c41601fa9c Fix untyped dictionary .NET debug visualization showing keys as values 2024-10-07 16:27:42 -03:00
Rémi Verschelde
6bea41d68f Merge pull request #88363 from Delsin-Yu/master
C#: Implement proper generic type name printing for Godot Editor
2024-09-24 12:56:52 +02:00
Rémi Verschelde
ea8d20d35b Merge pull request #96955 from Delsin-Yu/generator-based-CreateManagedForGodotObjectBinding
[.NET] Replace Reflection-Based implementation with Generated one in `CreateManagedForGodotObjectBinding`
2024-09-23 16:13:49 +02:00
DE-YU_H14
b5cd06b9ae C#: Implement proper generic type name printing for Godot Editor
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-09-23 15:32:10 +08:00
DE YU
307224927c Replace Reflection-Based implementation with Generated one
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-09-22 18:01:14 +08:00
kleonc
3bfadeff25 Fix C# operator *(Transform3D, AABB) 2024-09-20 00:18:54 +02:00
Felix Bytow
e9762b3eaf C# Assemblies can now be built with deprecated=no 2024-09-05 10:04:24 +02:00
Rémi Verschelde
b4f268fae8 Merge pull request #91018 from Daylily-Zeleen/daylily-zeleen/optionally_postinitialization_for_extension_owner
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-26 10:51:17 +02:00
Rémi Verschelde
39b77ea04e Merge pull request #95790 from aaronfranke/rect-aabb-support
Simplify Rect2/AABB `get_support` function
2024-08-22 00:10:39 +02:00
Daylily-Zeleen
3d575801ce Allow ClassDB to create a Object without postinitialization for GDExtension. 2024-08-20 20:19:02 +08:00
Rémi Verschelde
73d42411f0 Merge pull request #95808 from paulloz/bugfix/dotnet-globalclass-icon-relative-paths
Fix relative paths for global class icons in C#
2024-08-20 10:02:47 +02:00
Rémi Verschelde
65c6897e55 Merge pull request #95269 from raulsntos/dotnet/determinant
C#: Expose `Transform2D.Determinant()`
2024-08-20 10:02:07 +02:00
Aaron Franke
7db24a9ad5 Simplify and fix Rect2/AABB get_support function 2024-08-19 23:55:31 -07:00
Paul Joannon
3c0eaec39f Fix relative paths for global class icons in C# 2024-08-19 18:09:58 +02:00
Rémi Verschelde
4bd33df11e Merge pull request #94766 from Z0rb14n/fix-vector3-slerp
C#: Fix Vector3 `Slerp` normalization error
2024-08-16 23:45:34 +02:00