summaryrefslogtreecommitdiff
path: root/modules/mono/editor
AgeCommit message (Collapse)Author
2023-02-10Build C# csproj instead of the solutionRaul Santos
2023-02-08Merge pull request #72849 from RedworkDE/net-export-settingsRémi Verschelde
C#: Rename export settings `mono` -> `dotnet` and remove unused AOT settings
2023-02-07C#: Rename export settings `mono` -> `dotnet` and remove unused AOT settingsRedworkDE
2023-02-07Try and match MSBuild and Godot UI languagesPaul Joannon
2023-02-07Add new settings about MSBuildPaul Joannon
- toggle creation of binary logs - manage log verbosity - toggle logging in console
2023-02-07Add button to open the msbuild logs folderPaul Joannon
2023-02-07Rename existing editor settings `mono` -> `dotnet`Paul Joannon
2023-02-02Merge pull request #72553 from RedworkDE/net-output-directoryRémi Verschelde
C#: Preserve directories in output during export
2023-02-01C#: Preserve directories in output during exportRedworkDE
2023-02-01Update ↵Treer
modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/GodotPluginsInitializerGenerator.cs Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
2023-01-31Qualify Console's namespace to avoid mixup with plugin's objectsTreer
Avoid error when a plugin contains a class called "Console": Godot.SourceGenerators\Godot.SourceGenerators.GodotPluginsInitializerGenerator\GodotPlugins.Game.generated.cs(32,25): error CS0117: 'Console' does not contain a definition for 'Error'
2023-01-27Merge pull request #72111 from raulsntos/method-info-metadataRémi Verschelde
Add `GodotTypeInfo::Metadata` to `MethodInfo`
2023-01-27C#: Rename `Object` to `GodotObject`Raul Santos
2023-01-27C#: Renames to follow .NET naming conventionsRaul Santos
Renamed C# types and members to use PascalCase and follow .NET naming conventions.
2023-01-27C#: Add global namespace to grouping property infoRaul Santos
2023-01-27Merge pull request #71356 from raulsntos/dotnet/getRémi Verschelde
C#: Lookup signals and methods in Get method
2023-01-26Merge pull request #71535 from raulsntos/dotnet/pointers-are-yabaiRémi Verschelde
C#: Skip methods with pointer parameters
2023-01-26Merge pull request #72057 from raulsntos/dotnet/fix-must-be-variantRémi Verschelde
C#: Annotate API with `[MustBeVariant]`
2023-01-26Merge pull request #65529 from magian1127/4.0FixDocTagRémi Verschelde
C# Improve the "Tag" conversion of documents
2023-01-26Add `GodotTypeInfo::Metadata` to `MethodInfo`Raul Santos
2023-01-25C#: Skip documentation syntax in MustBeVariant analyzerRaul Santos
2023-01-24Add PROPERTY_USAGE_NEVER_DUPLICATE flag and use for scriptAaron Franke
Co-authored-by: Yakov Borevich <j.borevich@gmail.com>
2023-01-24PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"Aaron Franke
2023-01-24C# Improve the "Tag" conversion of documentsMagian
[codeblocks] for Keep only the [CSharp] part. [param] is changed to <c>. [b] for bold text. [i] for italic text. 4.0 now uses variant, so [variant] to <see cref="Godot.Variant"/>. since Rider does not support [u], only comments have been modified.
2023-01-18C#: Move `GLOBAL_DEF`s to CSharpLanguage ctorRaul Santos
Also documents the .NET project settings.
2023-01-18C#: Implement `ExportPlugin::_get_name`Raul Santos
2023-01-17C#: Skip methods with pointer parametersRaul Santos
2023-01-16C#: Make property accessors internalRaul Santos
2023-01-13C#: Lookup signals and methods in Get methodRaul Santos
Allows to retrieve `Callable`s and `Signal`s using `Get` like it works in GDScript.
2023-01-09Merge pull request #71114 from reduz/cleanup-property-hintsRémi Verschelde
Removed unused property hints and `Object::get_translatable_strings()`
2023-01-09Removed unused property hints and `Object::get_translatable_strings()`Juan Linietsky
* Remove unused `EditorPropertyMember` and related hints, previouly used by VisualScript. Such logic should be implemented in the VS module itself. * As the above broke compatibility with the VS module, clean up the other hacks that were still in core in support of VisualScript. * `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's `get_translatable_strings()`, which is a legacy function not used anywhere. So both are removed. * Reordered some usage flags after the above removal to minimize the diff. * General clean up. Fixes #30203. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09C#: Add `[Flags]` attribute to core bitfield enumsRaul Santos
2023-01-08Use BitField<> hint for ArrayFormatJuan Linietsky
This was missing in the conversion of bitflags to BitField<>.
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-28C#: Avoid generic types in the script path attribute generatorRaul Santos
- Avoid generic types in `ScriptPathAttributeGenerator`, this means they won't be added to the `[AssemblyHasScripts]` attribute and a `[ScriptPath]` attribute won't be added to the class. Since generic classes can't be used as scripts they shouldn't use those attributes, this also makes CSharpScript consider those types invalid since they won't be added to the script/type map. - Avoid generic types in `ScriptManagerBridge.LookupScriptsInAssembly`. - Set `outMethodsDest` in `ScriptManagerBridge.UpdateScriptClassInfo`.
2022-12-23Merge pull request #70486 from raulsntos/dotnet/convert-toIgnacio Roldán Etcheverry
C#: Rename `ConvertToX` methods
2022-12-23C#: Rename `ConvertToX` methodsRaul Santos
- Renamed `ConvertToX` to `ConvertToNativeX`. - Renamed `ConvertToXObject` to `ConvertToX`. - Renamed `ConvertToXManaged` to `ConvertToX`. - Fix `Signal` name in bindings generator and csharp script.
2022-12-23C#: Disallow init-only propertiesRaul Santos
ReadOnly properties are currently not allowed because the generated code needs to set them, this also apply to `init` properties because they need to be set after initialization.
2022-12-16Fix out of sync PropertyUsageFlags for csSilc Renew
2022-12-15Fix typos with codespellRémi Verschelde
2022-12-14Merge pull request #69971 from neikeq/csharp-vararg-ret-premature-freeRémi Verschelde
C#: Fix premature free of returned Variant in vararg methods
2022-12-12C#: Fix premature free of returned Variant in vararg methodsIgnacio Roldán Etcheverry
Notably, this fixes obscure issues after calling `script.New()` when the returned instance is a `RefCounted`.
2022-12-12C#: Rename SignalInfo to Signal and make awaitableRaul Santos
2022-12-12C#: Fix bindings generator for methods that return signalsRaul Santos
2022-12-11C#: Fix exported properties of GodotObject[] typeIgnacio Roldán Etcheverry
This was a regression from 17b2838f39c634324710166d2f36458906ecaf4a. `MarshalUtils` was changed in the source generators to use `ConvertTo<T>` and `CreateFrom<T>`, which don't support `GodotObject[]` because it would need reflection. As such, we need to keep the custom cases for `GodotObject[]` in `MarshalUtils`.
2022-12-02Merge pull request #69391 from NeilKleistGao/slnRémi Verschelde
Fix C# Solution Directory Project Settings
2022-12-02Fix C# solution directory settingsNeilKleistGao
Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
2022-12-02C#: Cleanup Variant marshaling code in source/bindings generatorsIgnacio Roldán Etcheverry
This change aims to reduce the number of places that need to be changed when adding or editing a Godot type to the bindings. Since the addition of `Variant.From<T>/As<T>` and `VariantUtils.CreateFrom<T>/ConvertTo<T>`, we can now replace a lot of the previous code in the bindings generator and the source generators that specify these conversions for each type manually. The only exceptions are the generic Godot collections (`Array<T>` and `Dictionary<TKey, TValue>`) which still use the old version, as that one cannot be matched by our new conversion methods (limitation in the language with generics, forcing us to use delegate pointers). The cleanup applies to: - Bindings generator: - `TypeInterface.cs_variant_to_managed` - `TypeInterface.cs_managed_to_variant` - Source generators: - `MarshalUtils.AppendNativeVariantToManagedExpr` - `MarshalUtils.AppendManagedToNativeVariantExpr` - `MarshalUtils.AppendVariantToManagedExpr` - `MarshalUtils.AppendManagedToVariantExpr`
2022-12-02C#: Replace most conversions between Variant and System.ObjectIgnacio Roldán Etcheverry
This commit replaces most usages of `ConvertManagedObjectToVariant` and `ConvertVariantToManagedObjectOfType`, by using the `Godot.Variant` struct instead of `System.Object`. The most notable change is to the `GetGodotPropertyDefaultValues` method that's generated for scripts. The dictionary it returns now stores `Godot.Variant` values. Remaining usages are: - The `DelegateUtils` class, for the serialization of closure display classes during assembly reloading by the editor. These display classes are compiler generated classes to store values captured by a closure. Since it's generated by the compiler, the only way we have to access the fields is through reflection. This leads to using `System.Object`. - Converting parameters when invoking constructors from the engine. This will be replaced with source generators in the future. - Legacy support for old `GetGodotPropertyDefaultValues` return values. We need to keep supporting the old version of this generated method for some time. Otherwise, if loading a project built with the previous version, it could lead to the loss of exported property values. Ideally, we should remove this legacy support before a stable release.
2022-11-29Remove unnecessary namespaces in generated PropertyDefVal files.R. Alex Hofer