C# binding

Started by netrick, 13 July 2013, 20:44:26

netrick

How is C# binding doing? I'm asking because I fall in love with C#, it's so easier and faster to code and I'm thinking about porting my app to sfml.net but I use tgui heavily so I need it too.

texus

The code has been fully ported (exept TextBox class as it needs to be rewritten).
There are still a few improvements to make like inheriting from IDisposable class, but everything should already work.

There is however no documentation and no tutorials, just some example code.
I haven't even tested in on another pc or on windows.

I actually paused the development due to the lack of interest, but now that I know someone is interested in it I might continue with it in the next few days.

It can currently be downloaded on from tgui.eu/csharp/.

netrick

How is the work going? I'm waiting for the finished version :)

texus

#3
I looked at what I still had to do and I noticed that you won't have to expect any progress soon.

I don't see a reason for changes like inheriting from the IDisposable class. Unlike sfml which makes calls to the C lib, I made a port and everything should be managed resources. So the code seems finished.
The TextBox won't be written as I will wait for the c++ version to change (the new form builder has a bigger priority).
And copying the c++ documentation is also a lot of work (going from javadoc to the xml docs).
Last but not least, eveything should be tested, but I don't even find the time to do that for the c++ version.

So you can consider the current version as final for now.

The only thing that I actually did in the last few days for the c# version, was buying and setting up a new site for it.
I also added tested the library on a different linux pc and wrote a tutorial for it.
The TGUI.Net library can now be found on tgui.net.

Edit: Some changes that were made in the c++ version in the last weeks aren't in the c# version yet. So there might be another version coming with these changes, but I won't put a date on it. And everything should remain compatible so when the time comes you can just replace the old dll with the new one.