Beispiel #1
0
    private void Start()
    {
        blackboard        = GetComponent <ChargingEnemyBlackboard>();
        enemyAgressiveFSM = GetComponent <ChargingEnemyAggressiveFSM>();

        timer = 0;
    }
Beispiel #2
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);
    }
    private void Start()
    {
        blackboard      = GetComponent <ChargingEnemyBlackboard>();
        wanderPlusAvoid = GetComponent <WanderPlusAvoid>();
        arrivePlusAvoid = GetComponent <ArrivePlusAvoid>();

        timer = 0;
    }
Beispiel #4
0
 private void Start()
 {
     blackboard      = GetComponent <ChargingEnemyBlackboard>();
     wanderPlusAvoid = GetComponent <WanderPlusAvoid>();
     seek            = GetComponent <Seek>();
     enemyPassiveFsm = GetComponent <ChargingEnemyPassiveFSM>();
     enemyCol        = GetComponent <CapsuleCollider>();
 }
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 <ChargingEnemyBlackboard>();
     enemyStunFSM = GetComponent <ChargingEnemyStunFSM>();
     rigidBody    = GetComponent <Rigidbody>();
 }
Beispiel #7
0
 public void Spawn()
 {
     currentBlackboard = Instantiate(spawnedObject, transform.position, transform.rotation).GetComponent <ChargingEnemyBlackboard>();
 }
Beispiel #8
0
 private void Start()
 {
     blackboard  = GetComponent <ChargingEnemyBlackboard>();
     enemyHitFSM = GetComponent <ChargingEnemyHitFSM>();
 }