For interfaces, I often find myself writing a lot of boilerplate code that looks roughly like:
+ When something happens:
-> Set object's FadeState to 1
+ When object's FadeState is 1
-> Subtract 1 from [object that's fading in] semitransparency
+ When object's semitransparency is 0
-> Do something else
(And the opposite way around for fading out).
I've been doing this for ages, but I realized yesterday that there had to be a better way - is there any kind of extension/widget that can handle telling an object to start fading out (or while I'm on the subject, moving/easing to some target position) and trigger some sort of recognizable event when it's finished?