Суть проблемы вот в чём. Хочу запилить простенькую анимацию (поворот на 180 по х) для кнопки выключения звука. И когда запускаю и первый раз на неё жму, анимация проигрывается, спрайт меняется, компонент отключается. Словом всё работает. Но далее - вообще никак не реагирует на нажатие. Объясните, пожалуйста, что не так.
Пробовал: останавливать корутины(StopCoroutine(RotateMe(new Vector3(180, 0, 0), 0.5f)))); писал  StopAllCoroutines() и в условии, и в теле корутины; разбивал условие на два разных скрипта. Результата очевидно нет...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SoundButtonOff : MonoBehaviour
{
    public GameObject Audio;
    public bool SoundOff = false;
    public Sprite SpriteSoundOff;
    public Sprite SpriteSoundOn;
    private void Start()
    {
        GetComponent<Image>().sprite = SpriteSoundOff;
    }
    public void OnClickSound()
    {
        if (!SoundOff)
        {
            Audio.GetComponent<AudioListener>().enabled = true;
            StartCoroutine(RotateMe(new Vector3(180, 0, 0), 0.5f));
            GetComponent<Image>().sprite = SpriteSoundOn;
            SoundOff = true;
        }
        else if (SoundOff)
        {
            Audio.GetComponent<AudioListener>().enabled = false;
            StartCoroutine(RotateMe(new Vector3(180, 0, 0), 0.5f));
            GetComponent<Image>().sprite = SpriteSoundOff;
            SoundOff = false;
        }
    }
    IEnumerator RotateMe(Vector3 byAngles, float inTime)
    {
        var fromAngle = transform.rotation;
        var toAngle = Quaternion.Euler(transform.eulerAngles + byAngles);
        for (var t = 0f; t < 1; t += Time.deltaTime / inTime)
        {
            transform.rotation = Quaternion.Lerp(fromAngle, toAngle, t);
            yield return null;
        }
    }
}