Could you set the code on the state and then the state endAnimation to repeat, then give it a single frame animation. That should make it rerun the fade script every frame, instead of every second.
You could also put the code in a tile script, those are re-run every frame. Then when your character walks on it, it fades out. Might be tricky for cut-scenes, but not impossible.