Devs,
The asset creation, changing and deletion process is very complicated as
of now. There appear to be some aspects that are duplicated and some
that seem to be misplaced. It also seems confused when dealing with
dynamic and non-dynamic assets.
I propose the following change:
1) All assets should follow the following convention
<asset type="[AssetType]" dynamic="[true/false]" file="..." />
2) I would want the Asset Manager to handle production of new assets and
asset instances - it should be capable of determining whether you need a
new Asset or AssetInstance. It should be able to do this entirely base
on whether it's dynamic (if dynamic, ALWAYS make new asset) or static,
where create a new assetinstance based on file. This would reduce the
complexity of actual MercuryAssets greatly.
A major note is when you use the AssetManager to create a new instance,
you would be forced to provide it the file associated with the asset you
want, as well as whether it's dynamic or not.
3) I would like to suggest making all types case sensitive.
If all three of these points are acceptable, I can modify the current
system with all assets to reflect it.
P.S. The new state system appears to work perfectly - well, except for
there being too many instances since the current system isn't smart enough.
Charles
|