Beispiel #1
0
    private void Update()
    {
        if (!isShooting)
        {
            agent.SetDestination(player.position);

            if (Vector3.Distance(transform.position, player.position) < 3.5f)
            {
                isShooting = true;
                EnemyBullet enemyBullet = Instantiate(bulletPrefab, transform.position, Quaternion.identity).GetComponent <EnemyBullet>();
                enemyBullet.Init(enemyData.Color, enemyData.Damage, player);
                StartCoroutine("Shot");
            }
        }
    }
Beispiel #2
0
    void HandleShot()
    {
        if (shoot_timer > 0)
        {
            return;
        }

        shoot_timer = shoot_delay;
        AudioManager.PlayOneShot(shot_clips[Random.Range(0, shot_clips.Length)]);

        var particle = Instantiate(shoot_particle_prefab, shoot_point.position,
                                   Quaternion.LookRotation(turret_barrel.transform.up));

        var bullet_clone = Instantiate(bullet_prefab, shoot_point.position,
                                       Quaternion.identity);

        EnemyBullet bullet = bullet_clone.GetComponent <EnemyBullet>();

        bullet.Init(dir);
    }