Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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();
        }
    }