I was working back through things today and had to rewrite quite a bit, but I'm caught back up and have moved forward a little bit: I can create, save, and load project files as well as importing/removing textures. As I use a base class for all of the assets, most of the work for the other types should just be in saving/loading.
I do have to admit that the code is kind of bulky and hard to follow at times; mainly because the UI makes calls to the Editor class which in turns calls callbacks...to the UI. This is an example:
User clicks 'View Texture' in the UI, which calls EditAsset (passing in the texture), which calls the OpenAssetRequested callback and loops back to the UI to actually view the file.
While bulky, this will allow me to keep the two separate and if I need to I can completely gut the UI without affecting any of the actual editor stuff. As an added bonus, I could easily expand with plugins if needed.
Here's a screenshot of the test project I've been using. I've got the settings page open in the background, but I'm currently viewing an old concept texture:
Hopefully my prediction is right and I can fly through the majority of this. The item editor, object editor, and character editor are already "done"; I created them as panels and have been using them for most of the demo (I just threw the panels in some forms.) The major hurdles will be the scene editor, integrating with MSBuild, and then bringing it all together with the script editor (though the latter is working pretty well so far.)
Time for bed for me!
Script files are in now. I'm thinking there needs to be a little more refactoring; adding a new asset type shouldn't amount to the code changes that need to be made. Now, I'm really going to bed.