Commit Graph

151 Commits

Author SHA1 Message Date
Wojtek Figat
510fc443e8 Refactor CoreCLR runtime into explicit dotnet api instead of mocking mono api
Required by platforms that will use mono under the hood for .Net 7
New `USE_CSHARP` define for C# ability
Engine doesn't use `mono_*` apis directly but via MCore/MClass/MMethod/ apis
2023-03-27 17:29:42 +02:00
87e9046e41 Fix native to managed marshalling of System.Array 2023-02-19 20:33:12 +02:00
Wojtek Figat
30fa911832 Merge remote-tracking branch 'origin/master' into dotnet7
# Conflicts:
#	README.md
2023-02-16 09:54:22 +01:00
Wojtek Figat
46cfa01622 Add this to API_PARAM for static method extension of a type 2023-02-13 16:04:33 +01:00
Wojtek Figat
f5a37ec3b4 Final fix for full P/Invoke compatibility on Linux 2023-01-24 18:49:33 +01:00
Wojtek Figat
20c32ea6ed Impl progress on c++ name mangling on Clang for proper P/Invokes binding 2023-01-24 17:31:09 +01:00
Wojciech Figat
798b950046 Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7 2023-01-24 09:30:38 +01:00
Wojciech Figat
405ae519dd Refactor generated bindings P/Invoke to support name mangling for symbols 2023-01-23 18:41:12 +01:00
Wojciech Figat
25811ed6d4 Optimize bindings code generation via String Builder pooling 2023-01-23 13:22:43 +01:00
be720257ca Fix crash when marshalling generated managed interfaces
Marshaller returns a permanent handle, avoid releasing it during marshalling
2023-01-16 20:12:42 +02:00
bf9dbbc79e Restore disabled compiler warnings of unused events 2023-01-14 18:01:14 +02:00
5fa10fd17b Allow unsubscribing from managed events multiple times 2023-01-14 17:45:21 +02:00
Wojciech Figat
59ba9102a6 Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7 2023-01-12 15:15:40 +01:00
Wojciech Figat
eebc4951de Merge branch '1.5' into dotnet7
# Conflicts:
#	Source/Platforms/DotNet/NUnit/agents/net40/nunit-agent.exe
#	Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.api.dll
#	Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.core.dll
#	Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.agent.addins
#	Source/Platforms/DotNet/NUnit/nunit.engine.api.dll
#	Source/Platforms/DotNet/NUnit/nunit.engine.core.dll
#	Source/Platforms/DotNet/NUnit/nunit.engine.dll
#	Source/Platforms/DotNet/NUnit/nunit3-console.exe
#	Source/Platforms/DotNet/NUnit/nunit3-console.exe.config
#	Source/Platforms/DotNet/NUnit/testcentric.engine.metadata.dll
#	Source/Tools/Flax.Build/Deps/Downloader.cs
#	Source/Tools/Flax.Stats/CodeFrame.cs
#	Source/Tools/Flax.Stats/CodeFrameNode.cs
#	Source/Tools/Flax.Stats/Flax.Stats.Build.cs
#	Source/Tools/Flax.Stats/Languages.cs
#	Source/Tools/Flax.Stats/Program.cs
#	Source/Tools/Flax.Stats/TaskType.cs
#	Source/Tools/Flax.Stats/Tools.cs
#	Source/Tools/FlaxEngine.Tests/TestEditorUtils.cs
2023-01-10 15:49:44 +01:00
Wojciech Figat
a7e428a21c Merge branch 'master' into 1.5
# Conflicts:
#	Content/Shaders/GI/DDGI.flax
#	Content/Shaders/GI/GlobalSurfaceAtlas.flax
#	Content/Shaders/TAA.flax
#	Content/Shaders/VolumetricFog.flax
#	Source/Editor/CustomEditors/Editors/ActorTagEditor.cs
#	Source/Engine/Core/Config/GraphicsSettings.cpp
#	Source/Engine/Engine/PostProcessEffect.cs
#	Source/Engine/Graphics/GPUResourcesCollection.cpp
#	Source/Engine/Graphics/GPUResourcesCollection.h
#	Source/Engine/Graphics/PostProcessBase.h
#	Source/FlaxEngine.Gen.cs
2023-01-10 15:37:55 +01:00
Wojciech Figat
9626e9bbb6 Update copyright year 2023-01-10 15:29:37 +01:00
7048281931 Hide AbstractWrappers in Editor 2023-01-09 15:20:24 +02:00
Wojciech Figat
dea307179f Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7
# Conflicts:
#	Source/Engine/Engine/NativeInterop.cs
2023-01-02 11:04:36 +01:00
Wojciech Figat
9acb597d5d Adjust scripting types visibility in editor 2023-01-02 10:36:24 +01:00
Wojciech Figat
00d960d61e Refactor abstract classes handling for scripting types creation (eg. Script or GPUResource) under dotnet7 2023-01-02 10:35:39 +01:00
8b80f73641 Implement ManagedHandle replacement for GCHandles
Allows for more controlled management of weak handles, increasing their lifetime for slightly longer than with GCHandles.
2022-12-30 22:14:48 +02:00
Wojciech Figat
28da925c52 Fix DisableRuntimeMarshalling attribute usage to be declared once per C# assembly 2022-12-29 14:11:22 +01:00
53de6d018b Return container types as return parameters 2022-12-27 19:02:40 +02:00
Wojciech Figat
d9042b3db2 Fix building various plugin projects with new dotnet7 2022-12-27 13:49:47 +01:00
Wojciech Figat
7440cb0963 Rename generated method parameters in bindings to prevent name collisions 2022-12-24 15:35:46 +01:00
48214f925b Fix wrong import name in generated plugin bindings 2022-12-24 01:13:56 +02:00
80c3056daf Fix errors when compiling plugins 2022-12-23 22:33:22 +02:00
22b4e25c02 Improve array allocations when marshalling method parameters 2022-12-22 19:54:58 +02:00
Wojciech Figat
75130fcca3 Fix using Function in scripting api to pass function pointer to native code when running in dotnet7 2022-12-22 11:50:29 +01:00
c8cc899128 Optimize allocations in method parameter marshalling and invocation 2022-12-21 00:40:38 +02:00
55747edaae Cleanup 2022-12-21 00:40:38 +02:00
fcd1366d26 Fix memory leaks caused by unreleased GCHandles 2022-12-02 00:06:32 +02:00
676d87129c Fix array count output parameter handling when returning arrays 2022-11-28 00:07:02 +02:00
4a1c1ebe3a Fix ScriptingObject handles getting released during marshalling 2022-11-27 23:53:30 +02:00
96dc279ebd Implement .NET 7 runtime support and bindings generation 2022-11-26 14:37:07 +02:00
Wojciech Figat
043beb03a9 Add support for DataContainer in scripting api bindings 2022-11-03 08:53:07 +01:00
Wojciech Figat
52e0e70908 Add support for different access level for scripting property functions 2022-10-27 15:14:34 +02:00
Wojciech Figat
b3eb38009d Improve various types usage in scripting api 2022-10-26 14:58:46 +02:00
Wojciech Figat
e115aa2c4e Merge remote-tracking branch 'origin/master' into 1.5
# Conflicts:
#	Source/Engine/Content/JsonAsset.cpp
2022-10-19 13:36:46 +02:00
Wojciech Figat
76b14af7ec Add various improvements 2022-10-18 15:03:56 +02:00
Wojciech Figat
5c24f8c365 Add ScriptingTypeHandle support for scripting bindings as System.Type 2022-10-13 13:35:15 +02:00
Wojtek Figat
3c9d9cd8d6 Add support for deserialization of deprecated properties in scripting types 2022-10-12 20:39:40 +02:00
Wojciech Figat
09b35266f7 Add automatic network serializers generation for NetworkReplicated fields in C++ types 2022-10-12 11:22:53 +02:00
Wojtek Figat
fe1cab6a7f Add Default auto-generated member to scripting structures and improve deserialization 2022-08-01 18:49:54 +02:00
Wojtek Figat
2bd3c0f74f Add support for constexpr fields in Scripting API 2022-06-16 21:56:48 +02:00
Wojciech Figat
c6e909c867 Refactor API_INJECT_CPP_CODE into API_INJECT_CODE to support code injection in other languages 2022-06-14 11:53:31 +02:00
Wojtek Figat
a881c90b2e Refactor engine to support double-precision vectors 2022-06-13 00:40:32 +02:00
Wojtek Figat
c87f2f5b56 Optimize empty comments parsing in Scripting API 2022-05-23 19:57:07 +02:00
Wojtek Figat
b70bce1746 Add support for generic types in Scripting API with Template flag 2022-05-23 19:43:34 +02:00
Wojtek Figat
4a9c746bed Add SoftAssetReference type 2022-02-28 23:15:35 +01:00