Exemple #1
0
    public void Add(EnemyBlackboard eb)
    {
        EnemySpawner es = new EnemySpawner {
            enemyB = eb, enemyO = eb.gameObject, spawnPos = eb.transform.position
        };

        enemyList.Add(es);
    }
Exemple #2
0
    private void Start()
    {
        movementController = FindObjectOfType <PlayerMovementController>();
        combatController   = FindObjectOfType <PlayerCombatController>();
        swordScanner       = FindObjectOfType <PlayerSwordScanner>();

        enemyBlackboard = GetComponentInParent <EnemyBlackboard>();

        throwHandsEnemy = GetComponentInParent <ThrowHandsEnemyAggressiveFSM>();
    }
Exemple #3
0
 public void OnAwake()
 {
     m_EnemyTransform = this.transform;
     m_StartPosition  = m_EnemyTransform.position;
     m_Active         = false;
     // Get enemy components
     m_NavMeshAgent    = GetComponent <NavMeshAgent>();
     m_EnemyBlackboard = GetComponent <EnemyBlackboard>();
     m_Animator        = GetComponent <Animator>();
 }
Exemple #4
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++;
    }
 public void SetTarget(EnemyBlackboard enemy)
 {
     target = enemy;
 }