Skip to content
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

C#/.NET API #1044

Open
wants to merge 207 commits into
base: master
Choose a base branch
from
Open

C#/.NET API #1044

wants to merge 207 commits into from

Conversation

praydog
Copy link
Owner

@praydog praydog commented Apr 18, 2024

Higher level and safer alternative to C++ API.
Faster, Intellisense aware alternative to Lua API.

TODO rest of description. WIP.

In the meantime: https://cursey.github.io/reframework-book/api_cs/general/index.html

@praydog praydog added the wip label Apr 18, 2024
@praydog praydog self-assigned this Apr 18, 2024
@praydog praydog force-pushed the csharp-api branch 4 times, most recently from 9bcbdec to 3625963 Compare April 26, 2024 16:04
@DaniGP17
Copy link

DaniGP17 commented Oct 7, 2024

What is needed to this got merged? Can we help in the progress?

@praydog
Copy link
Owner Author

praydog commented Oct 7, 2024

What is needed to this got merged? Can we help in the progress?

Generated ValueType structures need to be made concrete types with concrete methods and properties to reduce GC pressure. They need to be ideally stackalloc compatible structures.

I am considering shifting from the interface system to a concrete system for all generated classes for the performance improvement as well. As it stands right now, there is a lot of reflection code running per call. Mind you, this is still more performant than Lua, but it could stand to be improved.

So the main standing issues right now are GC pressure improvements overall. There are some other changes I wanted to make as well so source-based plugins could use multiple .cs files to operate in a project-like manner.

https://github.com/users/praydog/projects/4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants