Пример #1
0
    protected override void HitOpponent(Collider opponent)
    {
        HazardBaseHealth enemy = opponent.GetComponent <HazardBaseHealth>();

        if (enemy)
        {
            enemy.GetDamage(Damage);
            Destroy(gameObject);
        }
    }
Пример #2
0
    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));
        }
    }
Пример #3
0
 private void Awake()
 {
     _health = GetComponent <HazardBaseHealth>();
 }