Beispiel #1
0
    public void Spawn()
    {
        Child.transform.SetParent(spawnsFolder.transform);
        Child.SetActive(true);

        EnemySphere enemy = Child.GetComponent <EnemySphere>();

        if (enemy)
        {
            waitUntilDeath = LastLevel ? true : enemy.WaitUntilDeath;
        }
        else
        {
            waitUntilDeath = LastLevel;
        }

        if (!waitUntilDeath)
        {
            Destroy(gameObject);
        }
        else
        {
            rigidBody.velocity = Vector3.zero;

            Renderer[] renderers = transform.GetComponentsInChildren <Renderer>();
            foreach (Renderer renderer in renderers)
            {
                renderer.enabled = false;
            }
        }
    }
Beispiel #2
0
    void OnTriggerEnter(Collider other)
    {
        Bullet bullet = other.GetComponent <Bullet>();

        if (bullet)
        {
            Destroy(bullet.gameObject);
        }
        else
        {
            EnemySphere enemy = other.GetComponent <EnemySphere>();

            if (enemy && enemy.gameObject.activeSelf && enemy.Pattern != eBehaviour.LINEAR_SWIPE)
            {
                Destroy(enemy.gameObject);
            }
            else
            {
                Obstacle obstacle = other.GetComponent <Obstacle>();

                if (obstacle && obstacle.gameObject.activeSelf)
                {
                    Destroy(obstacle.gameObject);
                }
            }
        }
    }
Beispiel #3
0
    void OnTriggerEnter(Collider other)
    {
        EnemySphere enemy = other.GetComponent <EnemySphere>();

        if (enemy)
        {
            bool damageTaken;
            enemy.TakeDamage(Damage, WeaponFrom, phasedBullet, out damageTaken);

            if (damageTaken)
            {
                PlayImpactVFX();
            }

            Destroy(gameObject);
        }
    }
Beispiel #4
0
    public void ReverseMovement()
    {
        movement.z = -movement.z;

        EnemySphere enemy = Child.GetComponent <EnemySphere>();

        if (enemy)
        {
            enemy.ReverseMovement();
        }
        else
        {
            Obstacle obstacle = Child.GetComponent <Obstacle>();
            if (obstacle)
            {
                obstacle.movement.z = -obstacle.movement.z;
            }
        }
    }
Beispiel #5
0
    void Update()
    {
        lastSpawn += Time.deltaTime;

        if (lastSpawn >= spawnInterval)
        {
            GameObject  spawn = Instantiate(PrefabEnemy, new Vector3(UnityEngine.Random.Range(SpawnXMin, SpawnXMax), SpawnY, SpawnZ), Quaternion.identity);
            EnemySphere enemy = spawn.GetComponent <EnemySphere>();
            enemy.Pattern = Pattern;

            EnemySphereShooting enemyShooting = spawn.GetComponent <EnemySphereShooting>();
            if (enemyShooting)
            {
                enemyShooting.ShootMode   = ShootMode;
                enemyShooting.ShootTarget = ShootTarget;
            }

            spawnInterval = UnityEngine.Random.Range(SpawnIntervalMin, SpawnIntervalMax);
            lastSpawn     = 0;
        }
    }