A milestone of sorts. All new features for this release are done!
Here are a few of the things I finished up this week.
Breakable joints are done!
I've added a "Tag" property to both the Body and Geometry object. This is similar to ODE's "UserData" object. It's also similar to the Tag object hanging of Forms in .Net. It allows the user to attach any type of object they please. This could be helpful in conjunction with a collision callback. The simplest example I can think of would be to use the Tag object to hold a name/description of some sort.
All Add/Remove calls now queue up the request and actually do the adding and removal at the beginning of the Update().
Next in line is the cleanup/refactoring of the factory objects. (for the formal OO coders out there, the factory objects in Farseer are not true Factory patterns, the name just fit)
Here's the task list for those keeping score.
Replace collide event with callback/boolean return value (will allow the application to essentially cancel a collision)
- Make static classes
- Overload as follows (If the simulator is passed in the object will automatically be added to the simulator prior to being returned. Just as a convenience)
- Method(x, y, z)
- Method(simulator, x, y, z)