summaryrefslogtreecommitdiff
path: root/modules/mono/glue/GodotSharp
AgeCommit message (Collapse)Author
2020-11-03Remove `Color.contrasted()` as its behavior is barely usefulHugo Locurcio
Returning the most contrasting color isn't a trivial task, as there are often many possible choices. It's usually best left for the user to implement using a script.
2020-10-26C#: Fix custom event signals crash on hot-reloadIgnacio Etcheverry
Cleanup and re-initialization of event signals before and after hot-reload should be working correctly now.
2020-10-17Add GetStringFromUTF8 and GetStringFromASCIIAaron Franke
2020-10-06Improve the Vector2 rotated code in C#Aaron Franke
2020-09-24Merge pull request #42293 from ricardoalcantara/fix_basis_csharpRémi Verschelde
Basis RotationQuat should be public.
2020-09-24Basis RotationQuat should be public.Ricardo Alcantara
2020-09-23Fix C# string.IsAbsPath()Zae
2020-09-16Fix ExprMatch stackoverflowRaul Santos
2020-09-12Add concatenation support and a new ctor to Godot.Collections.ArrayAaron Franke
2020-09-08Change inequality comparison operators to use exact equalityAaron Franke
2020-09-01Simplify html_is_valid and allow it to work with 3 and 4 hex digitsAaron Franke
2020-09-01Change Color HTML conversion from ARGB to RGBAAaron Franke
Also add support for 3 and 4 digit values in C#. Now it actually matches the HTML/CSS spec.
2020-07-26Merge pull request #40595 from neikeq/godot-net-sdk-and-net-standardRémi Verschelde
C#: Switch games to MSBuild Sdks and .NET Standard
2020-07-25C#: Switch games to MSBuild Sdks and .NET StandardIgnacio Etcheverry
Godot.NET.Sdk ------------- Godot uses its own custom MSBuild Sdk for game projects. This new Sdk adds its own functionality on top of 'Microsoft.NET.Sdk'. The new Sdk is resolved from the NuGet package. All the default boilerplate was moved from game projects to the Sdk. The default csproj for game project can now be as simple as: ``` <Project Sdk="Godot.NET.Sdk/4.0.0-dev2"> <PropertyGroup> <TargetFramework>netstandard2.1</TargetFramework> </PropertyGroup> </Project> ``` Source files are included by automatically so Godot no longer needs to keep the csproj in sync when creating new source files. Define constants ---------------- Godot defines a list of constants for conditional compilation. When exporting games, this list also included engine 'features' and platform 'bits'. There were a few problems with that: - The 'features' constants were only defined when exporting games. Not when building the game for running in the editor player. - If the project was built externally by an IDE, the constants wouldn't be defined at all. The new Sdk assigns default values to these constants when not built from the Godot editor, i.e.: when built from an IDE or from the command line. The default define constants are determined from the system MSBuild is running on. However, it's not possible for MSBuild to determine the set of supported engine features. It's also not possible to determine if a project is being built to run on a 32-bit or 64-bit Godot executable. As such the 'features' and 'bits' constants had to be removed. The benefit of checking those at compile time was questionable, and they can still be checked at runtime. The new list of define constants includes: - GODOT - GODOT_<PLATFORM> Defaults to the platform MSBuild is running on. - GODOT_<PC/MOBILE/WEB> - TOOLS When building with the 'Debug' configuration (editor and editor player). - GODOT_REAL_T_IS_DOUBLE Not defined by default unless $(GodotRealTIsDouble) is overriden to be 'true'. .NET Standard ------------- The target framework of game projects was changed to 'netstandard2.1'.
2020-07-22Fix typos in GodotSharp code docsmega-bit
2020-07-21Fix XML in Plane.csAaron Franke
2020-07-21Update core documentation to match recent C# changesAaron Franke
Also a few minor API changes like adding AABB.abs() Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-07-11Add C# XML documentation to core C# math typesAaron Franke
2020-07-03fix crash when pass null in print array in GD.printendlesstravel
fix crash when pass null in print array in GD.print 2 fix crash when pass null in print array in GD.print 3 fix space
2020-06-19[mono] implement generics GetNodesInGroupPaul Joannon
2020-05-11C#: Support for building with the dotnet CLIIgnacio Etcheverry
By adding a reference to the 'Microsoft.NETFramework.ReferenceAssemblies' nuget package, we can build projects targeting .NET Framework with the dotnet CLI. By referencing this package we also don't need to install Mono on Linux/macOS or .NET Framework on Windows, as the assemblies are taken from the package.
2020-05-10Revert "Renamed plane's d to distance"Rémi Verschelde
This reverts commit ec7b481170dcd6a7b4cf0e6c1221e204ff7945f3. This was wrong, `d` is not a distance but the `d` constant in the parametric equation `ax + by + cz = d` describing the plane.
2020-05-10Renamed plane's d to distanceMarcus Elg
2020-05-09C#: Remove StringExtensions.Empty() functionIgnacio Etcheverry
Causes issues with some editors as it's confused with `string.Empty`. Should use `string.IsNullOrEmpty(str)` instead.
2020-05-07Merge pull request #36379 from aaronfranke/color-constructorsRémi Verschelde
Add a Color constructor for Color with alpha
2020-04-29Color with alpha constructorAaron Franke
2020-04-29Fix growMargin() not returning modified Rect2/Rect2iNannaquin
2020-04-29[Mono] Rename LinearInterpolate to LerpAaron Franke
2020-04-23C#: Revert marshalling of IDictionary/IEnumerable implementing typesIgnacio Etcheverry
Added marshalling for `System.Collections.Generic.List<T>` and `System.Collections.Generic.Dictionary<TKey, TValue>`.
2020-03-30doc: Update classref with node renamesRémi Verschelde
A few extra renames for classes which were missed in last week's PRs.
2020-03-17[Mono] Add Vector2i, Vector3i, and Rect2iAaron Franke
These have conversion operators between their non-integer equivalents. Vector2i to Vector2 is implicit, while Vector2 to Vector2i is explicit. All conversion code is done in the integer files, so Vector2.cs contains no reference to Vector2i etc.
2020-03-17Fix C# bindings after recent breaking changesIgnacio Etcheverry
Implementation for new Variant types Callable, Signal, StringName. Added support for PackedInt64Array and PackedFloat64Array. Add generation of signal members as events, as well as support for user created signals as events. NOTE: As of now, raising such events will not emit the signal. As such, one must use `EmitSignal` instead of raising the event directly. Removed old ThreadLocal fallback class. It's safe to use thread_local now since it's supported on all minimum versions of compilers we support.
2020-03-14C#: Replace uses of old Configuration and update old csprojsIgnacio Etcheverry
2020-03-06Merge pull request #36842 from Phischermen/mono-resource-loader-extension-updateRémi Verschelde
Mono/C#: Add missing parameters to 'ResourceLoader.Load<T>()'
2020-03-06Added parameters to Load()Phischermen
2020-03-02Fix missing null check in Mono Binding of GD.printRaul Santos
2020-02-18doc: Sync classref with current sourceRémi Verschelde
Handle removal of Pool*Array types and other recent changes.
2020-02-13Remove more deprecated methods and codeRémi Verschelde
2020-02-13Remove deprecated sync and slave networking keywordsRémi Verschelde
Those keywords were deprecated for 3.1 in #22087. Also fix token name for `TK_REMOTE`, should be "remote" like the keyword.
2020-02-10[Mono] Basis/Transforms Array operator comments and improvementsAaron Franke
The behavior for Basis and Transform2D is unchanged, and Transform gets new behavior. All of the behavior is identical to GDScript's behavior.
2020-02-09Merge pull request #35649 from aaronfranke/color-unsignedRémi Verschelde
Use uint/ulong for Color in C#
2020-02-08Avoid going out of bounds in IsSubsequenceOfRaul Santos
Closes #35598
2020-01-29Fixed GetNodeOrNull<T>Fabián L
GetNodeOrNull<T> was using GetNode instead of GetNodeOrNull
2020-01-29Use uint/ulong for Color in C#Aaron Franke
2020-01-23Mono/C#: Add Basis.Slerp, update Quat.Xform and add some math checksIgnacio Etcheverry
2020-01-03[Mono] Color arithmetic operatorsAaron Franke
2020-01-02[Mono] Make Sign methods consistent with GDScript and System.MathAaron Franke
2019-12-28Mono/C#: Re-structure API solution and GodotTools post-build targetIgnacio Etcheverry
Previously we had a placeholder solution called 'Managed' to benefit from tooling while editing the a part of the C# API. Later the bindings generator would create the final 'GodotSharp' solution including these C# files as well as the auto-generated C# API. Now we replaced the 'Managed' solution with the final 'GodotSharp' solution which is no longer auto-generated, and the bindings generator only takes care of the auto-generated C# API. This has the following benefits: - It's less confusing as there will no longer be two versions of the same file (the original and a generated copy of it). Now there's only one. - We no longer need placeholder for auto-generated API classes, like Node or Resource. We used them for benefiting from tooling. Now we can just use the auto-generated API itself. - Simplifies the build system and bindings generator. Removed lot of code that is not needed anymore. Also added a post-build target to the GodotTools project to copy the output to the data dir. This makes it easy to iterate when doing changes to GodotTools, as SCons doesn't have to be executed anymore just to copy these new files.