void SpawnEnemy() { GameObject _newEnemyObject = Instantiate(_enemyObject, _enemySpawnLocation.transform.position, _enemySpawnLocation.transform.rotation, _enemyObjectContainer); EnemyMovementHandler _enemyMovementHandler = _newEnemyObject.GetComponent <EnemyMovementHandler>(); EnemyShotHandler _enemyShotHandler = _newEnemyObject.GetComponent <EnemyShotHandler>(); //Set new speed if (_speedOverride > 0) { _enemyMovementHandler.SetSpeed(_speedOverride); } //Attach node if available if (_nodeObject != null) { // Attach the node to the enemy object. _enemyMovementHandler.SetMoveNode(_nodeObject); } //Override fire rate if (_fireRateOverride > 0) { _enemyShotHandler.ChangeFrequency(_fireRateOverride); } }
private void Awake() { statsHandler = GetComponent <EnemyStatsHandler>(); animationHandler = GetComponent <EnemyAnimationHandler>(); movementHandler = GetComponent <EnemyMovementHandler>(); observationHandler = GetComponent <EnemyObservationHandler>(); battleHandler = GetComponent <EnemyBattleHandler>(); }