Hey Devs. I'm making an editor (in C#/WPF) for Sins of a Solar Empire and my plan was to integrate Galaxy Forge and Particle Forge into it using the WindowsFormsHost class. I've integrated GalaxyForge easily, but Particle Forge seems to be a bigger problem. Mainly, in the Main method, there is more than just form creation. It seems like the simulation timing logic is all in the Main method, making integration with my editor nearly impossible without copying code. Is there any reason why the timing logic is in the Main method, instead of say, in a worker thread or just using the System.Windows.Forms.Timer class to do the ticks? I also noticed a call to Thread.Sleep(). By calling that on the UI thread, you are just making it unresponsive. The Timer class I mentioned (and its Interval property). Should work just as well, keep ParticleForge single threaded, and possibly allow new types of extended functionality. Also, the call to Application.DoEvents() doesn't help matters much, and is considered a holdover from VB Classic 5. Any chance you could help me out, or am I limited to remotely starting the process separately and not fully integrating it without copying your Main method?
Note to others: Threading in .NET is much easier than in C++ by a long shot, and this doesn't deal with the core game at all.