Topic: Thoughts on external tools
One of the things that's been getting to me is the lack of extensibility in the editor. I've been thinking about a number of ways this could be done, but most of them would require large changes to Maratis which would probably make it lose the simplicity that makes it what it is.
Something that I thought of would maybe work is allowing external editors to be tied into Maratis. They could potentially be Maratis applications if the developer of the tools desired, but it would also allow the freedom to create the tools using whatever technology the developer thought fitted the situation best, as what usually we care about is the assets that are created, it doesn't matter if they're made within Maratis, or with a WPF tool, or written in python, or whatever. Of course this means that the tools will have to be maintained for all relevant platforms by the developer rather than the platform support provided by Maratis.
The way I would see this working from a user-experience point of view, would be something like this:
- select object
- choose relevant behavior, say AI State Machine
- Presented with dropdown list of all available state machines to choose from*
- Click button next to dropdown list, which opens external tool
*These could be maintained in code by allowing a special MVariable type to be given an array of strings. Potentially these could be (formatted?) filenames from specific folders.
The external tool will be called by Maratis with command line arguments of the file it's been asked to open. In theory developers could add file explorers if you don't pass a file to open, to allow the tools to be standalone.
Anyway, thoughts?