Beispiel #1
0
    public IEnumerator WaveProducer()
    {
        for (int i = 0; i < bossWaves[currentWave].enemies.Length; i++)
        {
            int        randomPipe = Random.Range(0, pipePositions.Length);
            GameObject go         = Instantiate(bossWaves[currentWave].enemies[i], pipePositions[randomPipe].transform.position, Quaternion.identity);
            ChargingEnemyBlackboard   chargingEnemyBlackboard   = go.GetComponent <ChargingEnemyBlackboard>();
            ThrowHandsEnemyBlackboard throwHandsEnemyBlackboard = go.GetComponent <ThrowHandsEnemyBlackboard>();

            if (chargingEnemyBlackboard)
            {
                chargingEnemyBlackboard.detectionDistanceOnSight  = 50;
                chargingEnemyBlackboard.detectionDistanceOffSight = 50;
                chargingEnemyBlackboard.playerOutOfRangeDistance  = 100;
            }

            if (throwHandsEnemyBlackboard)
            {
                throwHandsEnemyBlackboard.detectionDistanceOnSight  = 50;
                throwHandsEnemyBlackboard.detectionDistanceOffSight = 50;
                throwHandsEnemyBlackboard.playerOutOfRangeDistance  = 100;
            }

            if (i < bossWaves[currentWave].enemies.Length - 1)
            {
                yield return(new WaitForSeconds(bossWaves[currentWave].interval));
            }
        }

        yield return(new WaitForSeconds(bossWaves[currentWave].duration));

        currentWave++;

        antagonistBossFSM.ChangeState(AntagonistBossFSM.States.FALLING);
    }
Beispiel #2
0
    private void Start()
    {
        blackboard        = GetComponent <ThrowHandsEnemyBlackboard>();
        enemyAgressiveFSM = GetComponent <ThrowHandsEnemyAggressiveFSM>();

        timer = 0;
    }
 private void Start()
 {
     blackboard      = GetComponent <ThrowHandsEnemyBlackboard>();
     enemyPassiveFSM = GetComponent <ThrowHandsEnemyPassiveFSM>();
     wanderPlusAvoid = GetComponent <WanderPlusAvoid>();
     arrivePlusAvoid = GetComponent <ArrivePlusAvoid>();
 }
Beispiel #4
0
    private void Start()
    {
        blackboard      = GetComponent <ThrowHandsEnemyBlackboard>();
        wanderPlusAvoid = GetComponent <WanderPlusAvoid>();
        arrivePlusAvoid = GetComponent <ArrivePlusAvoid>();

        timer = 0;
    }
Beispiel #5
0
    public IEnumerator WaveProducer()
    {
        waveScene.PlayCrowdSound();
        waveScene.CheersSound();
        yield return(new WaitForSeconds(1.0f));

        activate = true;

        for (int i = 0; i < waves[currentWave].enemies.Length; i++)
        {
            int randomPipe = Random.Range(0, pipePositions.Length);
            if (randomPipe == 0)
            {
                waveScene.playLeftConfetti();
            }
            else
            {
                waveScene.playRightConfetti();
            }
            GameObject                go         = Instantiate(waves[currentWave].enemies[i], pipePositions[randomPipe].transform.position, Quaternion.identity);
            EnemyBlackboard           blackboard = go.GetComponent <EnemyBlackboard>();
            ChargingEnemyBlackboard   chargingEnemyBlackboard   = go.GetComponent <ChargingEnemyBlackboard>();
            ThrowHandsEnemyBlackboard throwHandsEnemyBlackboard = go.GetComponent <ThrowHandsEnemyBlackboard>();

            currentEnemies.Add(blackboard);

            if (chargingEnemyBlackboard)
            {
                chargingEnemyBlackboard.detectionDistanceOnSight  = 50;
                chargingEnemyBlackboard.detectionDistanceOffSight = 50;
                chargingEnemyBlackboard.playerOutOfRangeDistance  = 100;
                chargingEnemyBlackboard.PipeSpawnSound();
            }

            if (throwHandsEnemyBlackboard)
            {
                throwHandsEnemyBlackboard.detectionDistanceOnSight  = 50;
                throwHandsEnemyBlackboard.detectionDistanceOffSight = 50;
                throwHandsEnemyBlackboard.playerOutOfRangeDistance  = 100;
                throwHandsEnemyBlackboard.PipeSpawnSound();
            }

            if (i < waves[currentWave].enemies.Length - 1)
            {
                yield return(new WaitForSeconds(waves[currentWave].interval));
            }
        }

        currentWave++;
    }
Beispiel #6
0
 private void Start()
 {
     blackboard  = GetComponent <ThrowHandsEnemyBlackboard>();
     enemyHitFSM = GetComponent <ThrowHandsEnemyHitFSM>();
 }
Beispiel #7
0
 private void Start()
 {
     blackboard   = GetComponent <ThrowHandsEnemyBlackboard>();
     enemyStunFSM = GetComponent <ThrowHandsEnemyStunFSM>();
     rigidBody    = GetComponent <Rigidbody>();
 }