Simulating click script(with animations)

I created a script for a clicks a long time ago. Today I decided to add some animations to it. It was easy so far, not that now it isn’t.

My problem is that I don’t quite think my script is very optimized. using System.Collections;using System.Linq;using Assets.Resources.Scripts.Ge - Pastebin.com - there it is. The main thing I don’t like is the coroutine which is waiting for the animation to finish and then mark the Clicked as true. Don’t suggest removing it or similar, I need it. How can I improve it?

You can add on the last frame of each animation an event like this: http://docs.unity3d.com/Manual/animeditor-AnimationEvents.html

When the event is received you have to wait until the end of frame and call OnClick().