//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); }