So this week, I worked on all the fun WPF features that .Net 4.5 provides. I’ve added a few nice tabs for editing the project data details. Project Data can be seen, edited, drag & dropped, parented, and controlled from the TreeListBox ( https://propertytools.codeplex.com/ ) as well as the Property Grid ( https://wpftoolkit.codeplex.com/ ). It took a while to get these controls to work the way I wanted them to, but it’s finally pretty awesome. These open source controls do a lot of the hard work for me and they inter-op decently with WinFormsHost for display within MonoGame.
So the work flow should go something like this: When you double click on a folder ( such as the Game Objects folder), it pops up the Game Object Picker, which is shown below. Don’t mind the rough edges, its all just place holder art for now. Each type will have its own details editor in the bottom panel an editor for that type as well as an editor for Generic Types that you add to your game. You can of course add your own variables to any of these types using the dynamic data available for all types. These types will populate either a special tool box or work directly from the main tree view.
Then later when you are creating levels, you can drag the type you have created into the main viewer and create Instances of that object at the position and orientation you like. The Instance will then be linked to its template type via GUIDs so that you can update a type and all of the instance will reflect the new changes. If you want to break an Instance type, you can always just change the template GUID and the link will be broken. I’m pretty hopeful this will prove to be a flexible setup that should work for pretty much any kind of game. But that of course remains to be seen.
Some of the other types don’t even have backing systems yet! Scripts…? Animations … ya.. soon? maybe? =)