// functions for miss/hit effects
 public void OnMiss(RunState runState)
 {
     Debug.Assert(!isResolved, "on miss already resolved");
     isResolved = true;
     runState.BreakCombo();
     MissEffect(runState);
     Instantiate(missPrefab, transform.position, Quaternion.identity, hitArea);
     rhythmManager.player.GetComponent <Animator>().SetTrigger("activityFail");
     runState.CurrentActivityPlatform().unSuppressedEmotions.Remove(emotionType);
     Destroy(gameObject);
 }
    public void OnSuppress(RunState runState)
    {
        // AudioSource audioSource = gameObject.GetComponent<AudioSource>();
        // audioSource.clip = Resources.Load<AudioClip>("drum_kit/Crash_Cymbal");

        // you can hit them invisibly!
        if (this.isInvisibleHit)
        {
            StartCoroutine(HitAfterDelay(0, runState));
            runState.CurrentActivityPlatform().unSuppressedEmotions.Add(emotionType);
        }
        else
        {
            // if not hit, fail silently
            runState.IncreaseEnergy(-1);
            runState.emotions.Add(emotionType, 1);
            Instantiate(missPrefab, transform.position, Quaternion.identity, hitArea);
            runState.BreakCombo();
        }
    }