public IEnumerator playSongCoroutine(string cardTitle, float waitBetweenNotes, float speed)
    {
        songPlaying = true;

        NoteChart noteChart = NoteCharts.getChartByTitle(cardTitle);

        Debug.Log("Song Length: " + noteChart.Count());

        playNoteSensor.RecordPercentage(noteChart.Count());

        foreach (Note n in noteChart.noteChart)
        {
            GenerateNote(n, speed);
            yield return(new WaitForSeconds(waitBetweenNotes));
        }

        while (songPlaying)
        {
            yield return(new WaitForSeconds(0.1f));
        }

        //Do card action
        actionManager.doAction(cardTitle, percentHit);

        //cardManager.gameObject.SetActive(true);
    }
    void playCard(int selectedIndex)
    {
        GameObject selectedCard = null;

        Debug.Log("Playing index" + selectedIndex);
        if (selectedIndex == 0)
        {
            selectedCard = warriorCardInHand;
            DrawWarriorCard();
        }
        else if (selectedIndex == 1)
        {
            selectedCard = mageCardInHand;
            DrawMageCard();
        }
        else if (selectedIndex == 2)
        {
            selectedCard = healerCardInHand;
            DrawHealerCard();
        }

        Destroy(selectedCard);
        UpdateHandPositions();

        CardInfo  info      = selectedCard.GetComponent <CardInfo>();
        NoteChart noteChart = NoteCharts.getChartByTitle(info.cardTitle);


        if (info.characterClass == CharacterClass.Warrior)
        {
            Debug.Log("Picking warrior sounds");
            playNoteSensor.currentSound = playNoteSensor.guitarNote;
        }
        else if (info.characterClass == CharacterClass.Mage)
        {
            Debug.Log("Picking mage sounds");
            playNoteSensor.currentSound = playNoteSensor.bassNote;
        }
        else if (info.characterClass == CharacterClass.Healer)
        {
            Debug.Log("Picking healer sounds");
            playNoteSensor.currentSound = playNoteSensor.fluteNote;
        }
        noteGenerator.playSong(info.cardTitle, 0.25f, 1000.0f);
        gameObject.SetActive(false);
    }