示例#1
0
 void Awake()
 {
     enemy        = this.gameObject.transform;
     player       = GameObject.FindGameObjectWithTag("Player").transform;
     playerHealth = player.GetComponent <PlayerHealth>();
     enemyHealth  = GetComponent <EnemyHealthSlowGun>();
     nav          = GetComponent <NavMeshAgent>();
     enemyAttack  = GetComponent <EnemyAttackGun>();
 }
示例#2
0
    void Awake()
    {
        patrol                = GetComponent <Patrol>();
        enemy                 = this.gameObject.transform;
        enemyMovement         = GetComponent <EnemyMovmentSlow>();
        agent                 = GetComponent <UnityEngine.AI.NavMeshAgent>();
        agent.autoBraking     = false;
        player                = GameObject.FindGameObjectWithTag("Player").transform;
        enemyMovement.enabled = false;
        enemyHealth           = GetComponent <EnemyHealthSlowGun>();

        GoToNextPoint();
    }
示例#3
0
    void Shoot()
    {
        if (!shield)
        {
            timer = 0f;

            gunAudio.Play();

            gunLight.enabled = true;

            gunParticles.Stop();
            gunParticles.Play();

            gunLine.enabled = true;
            gunLine.SetPosition(0, transform.position);

            shootRay.origin    = transform.position;
            shootRay.direction = transform.forward + Random.insideUnitSphere * accuracy;

            if (Physics.Raycast(shootRay, out shootHit, range, shootableMask))
            {
                EnemyHealth enemyHealth = shootHit.collider.GetComponent <EnemyHealth>();
                if (enemyHealth != null)
                {
                    enemyHealth.TakeDamage(damagePerShot, shootHit.point);
                }
                gunLine.SetPosition(1, shootHit.point);

                EnemyHealthSlowGun enemyHealthSlowGun = shootHit.collider.GetComponent <EnemyHealthSlowGun>();

                if (enemyHealth || enemyHealthSlowGun != null)
                {
                    enemyHealthSlowGun.TakeDamage(damagePerShot, shootHit.point);
                }
                gunLine.SetPosition(1, shootHit.point);
            }
            else
            {
                gunLine.SetPosition(1, shootRay.origin + shootRay.direction * range);
            }
        }
    }