private PlayerType chooseInstrumentForPlayer(ACInstrumentPlayer player) { if (pianoHandler.numberofActivePlayers == 0) { player.insRhythmHandler = pianoHandler; pianoHandler.numberofActivePlayers++; player.insRhythmName = pianoHandler.name; pianoHandler.numberOfPlayers.text = "Players: " + pianoHandler.numberofActivePlayers.ToString(); pianoHandler.startAudio(); Debug.Log("Added a pianist"); return(PlayerType.PIANO); } else if (drumHandler.numberofActivePlayers == 0) { player.insRhythmHandler = drumHandler; drumHandler.numberofActivePlayers++; player.insRhythmName = drumHandler.name; drumHandler.numberOfPlayers.text = "Players: " + drumHandler.numberofActivePlayers.ToString(); drumHandler.startAudio(); Debug.Log("Added a drummer"); return(PlayerType.DRUM); } else if (bassHandler.numberofActivePlayers == 0) { player.insRhythmHandler = bassHandler; bassHandler.numberofActivePlayers++; player.insRhythmName = bassHandler.name; bassHandler.numberOfPlayers.text = "Players: " + bassHandler.numberofActivePlayers.ToString(); bassHandler.startAudio(); Debug.Log("Added a bassist"); return(PlayerType.BASS); } else if (trumpetHandler.numberofActivePlayers == 0) { player.insRhythmHandler = trumpetHandler; player.insRhythmName = trumpetHandler.name; trumpetHandler.numberofActivePlayers++; trumpetHandler.numberOfPlayers.text = "Players: " + trumpetHandler.numberofActivePlayers.ToString(); trumpetHandler.startAudio(); Debug.Log("Added a trumpeter"); return(PlayerType.TRUMPET); } else { int pickedHandler = UnityEngine.Random.Range(0, 4); InstrumentRhythmHandler chosenhandler = allHandlers[pickedHandler]; player.insRhythmName = chosenhandler.name; chosenhandler.numberofActivePlayers++; chosenhandler.numberOfPlayers.text = "Players: " + chosenhandler.numberofActivePlayers.ToString(); Debug.Log("Added a player to a random handler"); return((PlayerType)(pickedHandler + 1)); } return(PlayerType.UNKNOWN); }
public void receivedPressedTypeInput(InputType inputType, ACInstrumentPlayer acInstrumentPlayer) { if (instrumentRhythmBeats.Count == 0) { return; //if there aren't any beats ignore the player's input } RhythmBeat rhythmBeatToCheck = instrumentRhythmBeats[0]; float distanceToTarget = Vector2.Distance(rhythmBeatToCheck.gameObject.transform.position, rhythmTarget.transform.position); //Debug.Log($"Distance to target is [{distanceToTarget}s]"); //if the beat is outside the nearness check, don't check it if (distanceToTarget > nearnessCheckForBeat) { Debug.Log($"Outside range Distance to target is [{distanceToTarget}]"); //it's outside out range, ignore it return; } else if (distanceToTarget > nearnessCheckForGood) { Debug.Log("Miss!"); acInstrumentPlayer.gotMiss(); } else if (inputType != rhythmBeatToCheck.inputType) { Debug.Log("Miss! Wrong Input!"); registerTargetMiss(); acInstrumentPlayer.gotMiss(); } else if (distanceToTarget > nearnessCheckForPerfect) { Debug.Log("Good!"); registerTargetGood(); acInstrumentPlayer.gotGood(); } else { Debug.Log("Perfect!"); registerTargetPerfect(); acInstrumentPlayer.gotPerfect(); } }