-
-
Notifications
You must be signed in to change notification settings - Fork 21.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[.NET] Replace Reflection-Based implementation with Generated one in CreateManagedForGodotObjectBinding
#96955
[.NET] Replace Reflection-Based implementation with Generated one in CreateManagedForGodotObjectBinding
#96955
Conversation
105a498
to
efa64d0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much, this looks great! I haven't been able to test it very thoroughly yet, but so far it doesn't seem to break anything.
e4efd85
to
866b533
Compare
b2166ab
to
4504408
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me and seems to work fine in my testing, although I'm always wary of changes to the script bridge so more testing is always welcome.
CreateManagedForGodotObjectBinding
CreateManagedForGodotObjectBinding
I'm currently testing it with our in-development game; once I identify any issues, I will push follow-up fixes (if not merged) or open a new PR (if merged). |
782136b
to
37b7d3e
Compare
Please edit your commit message to remove unnecessary information, just keeping the title itself, the individual squashed steps are not necessary |
Co-authored-by: Raul Santos <[email protected]> Co-authored-by: A Thousand Ships <[email protected]>
37b7d3e
to
3072249
Compare
Thanks! |
Before this PR,
ScriptManagerBridge
used reflection-based implementation to instantiate engine wrapper types; this PR introduces a generatedConstructors
class to store all constructor calls inside a dictionary and invoke them withnativeTypeNameStr
as key.A new
internal
constructor was added to theGodotObject
class that acceptsIntPtr
to avoid theFormatterServices.GetUninitializedObject
call.