//here's where we do stuff when a player hits an obstacle.
    void hitObs(PlayerHitObstacleEvent e)
    {
        GameObject f;

        //Instantiate a text notification object
        //Debug.Log(
        if (e.obstacleY > 0)
        {
            f = Instantiate(Resources.Load("Prefabs/TextFeedback"), new Vector3(e.obstacleX, e.obstacleY - 1, -4.68f), Quaternion.identity) as GameObject;
            f.GetComponent <TextFeedback>().goUp = false;
        }
        else
        {
            f = Instantiate(Resources.Load("Prefabs/TextFeedback"), new Vector3(e.obstacleX, e.obstacleY + 1, -4.68f), Quaternion.identity) as GameObject;
            f.GetComponent <TextFeedback>().goUp = true;
        }

        f.transform.SetParent(canvas);

        //if we're not in party mode...
        if (currentState == ScoreState.Normal)
        {
            //we hit it correctly, good job
            if (e.playerColor == e.obstacleColor)
            {
                GameObject p;
                p = Instantiate(Resources.Load("Prefabs/HitParticleCircle"), new Vector3(e.obstacleX, e.obstacleY, e.obstacle.transform.position.z), Quaternion.identity) as GameObject;
                p.GetComponent <Renderer>().material = textMaterials[e.obstacleColor];

                //Ignore hold notes
                if (Time.time - GameManager.instance.om.lastSpawnTime > .05f)
                {
                    int scoreToAdd = baseScoreForHit * comboMultiplier;
                    updateScore(scoreToAdd);
                    f.GetComponent <Text>().material = textMaterials[e.obstacleColor];
                    f.GetComponent <Text>().text     = "+" + scoreToAdd.ToString();
                    comboMultiplier += 1;
                    levelSliders[e.obstacleColor].value += 1;
                }
                else
                {
                    f.GetComponent <Text>().text = "";
                }

                notesHit++;


                //wrong color!
            }
            else
            {
//				Debug.Log(comboMultiplier);
                f.GetComponent <Text>().material  = Resources.Load("Materials/text_red") as Material;
                f.GetComponent <Text>().text      = "X";
                f.GetComponent <Text>().fontStyle = FontStyle.Bold;
                //lower bar of player's current color
                levelSliders[GameManager.instance.Player.GetComponent <Player>().currentColor].value -= penaltyForWrongColor;
                comboMultiplier = 1;
            }
            //in party mode, no penalties
        }
        else
        {
            GameObject p;
            p = Instantiate(Resources.Load("Prefabs/HitParticleCircle"), new Vector3(e.obstacleX, e.obstacleY, e.obstacle.transform.position.z), Quaternion.identity) as GameObject;
            p.GetComponent <Renderer>().material = textMaterials[e.obstacleColor];
            int scoreToAdd = baseScoreForHit * comboMultiplier;
            updateScore(scoreToAdd);
            f.GetComponent <Text>().material = textMaterials[e.obstacleColor];
            f.GetComponent <Text>().text     = "+" + scoreToAdd.ToString();
            notesHit++;
            //comboMultiplier +=1;
        }
    }
 void hitObs(PlayerHitObstacleEvent e)
 {
     DestroyObstacle(e.obstacle);
 }