Commit Graph

57 Commits

Author SHA1 Message Date
Wojtek Figat
af468ee6ae Fix scripting interop in AOT mode to use reflection-based field access 2023-10-11 15:18:28 +02:00
Wojtek Figat
58b9d76d24 Merge remote-tracking branch 'origin/master' into 1.7
# Conflicts:
#	Source/Editor/Viewport/PrefabWindowViewport.cs
#	Source/Engine/Physics/PhysX/SimulationEventCallbackPhysX.cpp
2023-09-28 20:42:54 +02:00
Wojtek Figat
82b2f46b48 Post-merge tweaks for #1312 2023-09-28 19:21:06 +02:00
42ab218a8e Merge branch 'master' into marshalling_scriptingobject_changes
# Conflicts:
#	Source/Engine/Engine/NativeInterop.Invoker.cs
#	Source/Engine/Engine/NativeInterop.Unmanaged.cs
2023-08-20 20:24:41 +03:00
Wojtek Figat
0e2d1b6ad2 Merge remote-tracking branch 'origin/master' into 1.7 2023-08-14 18:14:59 +02:00
53b1d0dd85 Optimize ScriptingObject managed initialization 2023-08-13 23:56:27 +03:00
cd56101aa3 Expose Object::DeleteObjectNow as Object.DestroyNow in managed scripting 2023-08-13 23:46:38 +03:00
Wojtek Figat
b5fa5fa68e Add SerializableScriptingObject for easier serialization of scripting objects in gameplay or content 2023-08-04 10:11:58 +02:00
Wojtek Figat
228ef4e130 Add objects ID inverse mapping from client to server for proper C# networking codegen 2023-06-18 19:27:46 +02:00
765cd7a0f0 Fix managed scripting object handles created in managed side 2023-04-22 14:21:45 +03:00
Wojtek Figat
f046642ba7 Improve stability by fixing various crashes with dotnet7 2023-04-18 12:36:33 +02:00
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
Wojtek Figat
eed2cdfe04 Progress on dotnet7 runtime hosting with mono 2023-03-22 17:59:46 +01:00
Wojtek Figat
aaaf7c5c37 Various fixes to scripting 2023-03-06 16:17:52 +01:00
Wojciech Figat
f3366178ea Refactor manually written managed bindings to use C-style exported P/Invoke 2023-01-23 18:14:38 +01:00
Wojciech Figat
7b20bc38a4 Merge branch '1.5' into dotnet7
# Conflicts:
#	Content/Shaders/GI/DDGI.flax
#	Content/Shaders/GI/GlobalSurfaceAtlas.flax
#	Content/Shaders/TAA.flax
#	Content/Shaders/VolumetricFog.flax
#	Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
2023-01-17 11:52:52 +01:00
Wojtek Figat
f127bbebe1 Refactor enum flags with __underlying_type and new EnumHasAnyFlags/EnumHasAllFlags
Fixes #832
Closes #886
2023-01-15 12:44:39 +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
Wojtek Figat
a74b847e65 Fix ScriptingObject::FromInterface to return object if the pointer is already valid object 2023-01-10 11:45:23 +01:00
80c3056daf Fix errors when compiling plugins 2022-12-23 22:33:22 +02:00
Wojciech Figat
94c5211ee6 Rename gchandle to MGCHandle 2022-12-22 13:02:00 +01:00
fcd1366d26 Fix memory leaks caused by unreleased GCHandles 2022-12-02 00:06:32 +02:00
96dc279ebd Implement .NET 7 runtime support and bindings generation 2022-11-26 14:37:07 +02:00
Wojciech Figat
c12ea8428e Add FlaxEngine.Object.FromUnmanagedPtr for native object raw pointer conversion to managed object 2022-10-13 13:35:59 +02:00
Wojciech Figat
74fe176d2d Improvements for const class usage 2022-09-05 14:34:16 +02:00
Wojciech Figat
f801e7ffd9 Fixes 2022-01-21 16:23:30 +01:00
Wojciech Figat
8c2241c6dc Update copyright year 2022-01-14 13:31:12 +01:00
Wojtek Figat
c4b6865659 Merge branch 'master' into mac 2022-01-09 19:15:15 +01:00
Wojtek Figat
192af7ec14 Refactor native core objects to simplify usage for newcomers 2022-01-08 15:06:23 +01:00
Wojtek Figat
ff9b116522 Add ScriptingObject::NewObject utility for scripting objects spawning in C++ 2022-01-08 15:06:18 +01:00
Wojtek Figat
5e9b215548 Fix crash when spawning managed object on a detached native thread 2022-01-08 15:06:16 +01:00
Wojtek Figat
ca62cd2661 Mac impl progress 2022-01-03 13:59:52 +01:00
Wojtek Figat
1c34c7f293 Fix crash when creating C# object for native object at the same time on multiple threads 2021-12-16 18:58:14 +01:00
Wojtek Figat
8938f13a0b Add support for compiling and running engine without C# scripting
(configurable via `EngineConfiguration.UseCSharp` in Flax.Build)
2021-10-23 16:43:15 +02:00
Wojtek Figat
5e3254435f Add ScriptingObject::ToInterface and ScriptingObject::FromInterface 2021-10-04 14:21:45 +02:00
Wojtek Figat
c3c0a4ef0d Add support for interfaces in scripting API (cross language support C++/C#/VS) 2021-10-04 12:26:08 +02:00
Wojtek Figat
6107af3cca Fix missing change 2021-09-29 18:11:00 +02:00
Wojtek Figat
b9ef09df96 Add support for creating C# scripting object inheriting directly from FlaxEngine.Object 2021-09-29 15:47:49 +02:00
Wojtek Figat
e2cd0393ac Add ManagedBinaryModule::FindModule utility for C# type class lookup 2021-09-29 15:46:17 +02:00
Wojtek Figat
d30e8c4c70 Remove redundant code 2021-08-19 14:01:54 +02:00
Wojtek Figat
a1bf4819cb Optimize calling Object.FindObject from C# 2021-08-19 13:06:20 +02:00
Wojtek Figat
27f2856e6d Optimize FindObject and TryFindObject in Object 2021-08-10 15:57:22 +02:00
Wojtek Figat
99012725dc Adjust includes 2021-06-17 14:15:19 +02:00
Wojtek Figat
907f289ea7 Cleanup asset references code 2021-06-10 11:01:35 +02:00
Wojtek Figat
312e4ad010 Merge branch 'master' into 1.1
# Conflicts:
#	Source/Engine/Content/JsonAsset.h
#	Source/Engine/Core/Config/Settings.h
2021-02-15 10:40:59 +01:00
Wojtek Figat
ed1a3c2964 Update mono 2021-02-14 14:54:56 +01:00
Wojtek Figat
c9860f21ec Fix scripting object issue 2021-02-08 19:42:04 +01:00
Wojtek Figat
8c1f56b7db Fixes for scripting objects 2021-02-07 19:28:57 +01:00