We're currently developing an app using ngui, and most things work out nicely, as expected. However we ran into some glitches when swapping simple sprites for animated sprites (using a slightly hacked version of UISpriteAnimation.cs).
What we are trying to achieve is having all "still" sprites in a single truecolor atlas for a crisp look, then swapping them with sprite sequences from bigger, compressed (and shared) atlases shortly before running their animations.
The idea is that while being animated, the lesser, compressed quality won't matter much while we can save some precious RAM on lower end devices.
It basically works, but everytime we swap atlases, spritenames and namePrefixes - a wrong sprite will show up for 1 to 4 frames before the animation continues to play the right ones. That glitch is too obvious to ignore, sadly.
We tried all sorts of walkarounds, but in the end it seems that every atlas has a "default sprite" - the one you see when you select an atlas prefab in the project view (which doesn't necessarily correspond with the numbering in the atlas maker or in the sprite names).
At this point I think we tried all possibilities your otherwise superb framework is giving us, but I might be missing something here...
We're currently first setting atlas, spriteName, namePrefix, after that calling MarkAsChanged, MakePixelPerfect and finally RebuildSpriteList - but whatever order we tried, it didn't seem to make much difference, the "default sprite" will still be visible before things continue as intended.
The simple solution would be to have one "animation-atlas" per sprite, but...
Is there a way to set this "default sprite" so we can keep our animation-atlases shared among sprites?