I would like to suggest that the interface for the ResourceManager (and 
internally ResourceLoadSession and AssetLoader) be expanded to allow the 
addition of an externally defined parser class. I do see that the 
getResource() method allows the passing of a parser class, but that isn't as 
convenient as setting up the parser once, and then allowing the "auto 
detection based on extension" algorithm to determine which parser to use.

I suggest an interface in ResourceManager near this:
 public function addParser(parser:Class):void

This interface would imply that we could have file type "collisions", and 
some arbitration might have to be put into place to figure out which parser 
"wins" when a file type collision occurs.  It could be that any externally 
provided parser always takes precedence over an internal one. I'm open to 
solutions here.

Why do I want this?  It is my goal to be able to take a new away3d drop 
without having to merge it with local changes I've made.  I would rather 
"add to away3d" by creating external code and "plugging it in".  Resource 
Management is one place that needs to be pluggable in this regard.

-Dave

Reply via email to