protected override void HitOpponent(Collider opponent) { HazardBaseHealth enemy = opponent.GetComponent <HazardBaseHealth>(); if (enemy) { enemy.GetDamage(Damage); Destroy(gameObject); } }
private IEnumerator SpawnObject(GameObject[] objects, int objectsCount, float objectSpawnWait, float objectStartWait, float objectWaveWait) { yield return(new WaitForSeconds(objectStartWait)); while (true) { for (int i = 0; i < objectsCount; i++) { GameObject spawnedObject = objects[Random.Range(0, objects.Length)]; Vector3 spawnPosition = new Vector3(Random.Range(-_spawnValues.x, _spawnValues.x), _spawnValues.y, _spawnValues.z); Quaternion spawnRotation = Quaternion.identity; GameObject newObject = Instantiate(spawnedObject, spawnPosition, spawnRotation); HazardBaseHealth enemyHealth = newObject.GetComponent <HazardBaseHealth>(); EnemyScoreReward enemyScore = newObject.GetComponent <EnemyScoreReward>(); if (enemyHealth != null && enemyScore != null) { enemyHealth.OnDie += enemyScore.AddScore; } newObject.transform.parent = GameController.Instance.ObjectsParent; yield return(new WaitForSeconds(objectSpawnWait)); } yield return(new WaitForSeconds(objectWaveWait)); } }
private void Awake() { _health = GetComponent <HazardBaseHealth>(); }