示例#1
0
 void Awake()
 {
     player       = GameObject.FindGameObjectWithTag("Player").transform;
     playerHealth = player.GetComponent <Player_Health>();
     enemyHealth  = GetComponent <Enemy_Health>();
     nav          = GetComponent <NavMeshAgent>();
 }
示例#2
0
    void Shoot()
    {
        // Reset the timer.
        timer = 0f;

        gun_light.enabled = true;

        // Set position for line render
        gun_line.enabled = true;
        gun_line.SetPosition(0, gun_now.transform.position);

        // detecting if shoot anything
        if (Physics.Raycast(gun_now.transform.position, fpsCam.transform.forward, out where_hit, range))
        {
            // trying to get HP info.
            Enemy_Health enemyHealth = where_hit.collider.GetComponent <Enemy_Health>();
            if (enemyHealth != null)
            {
                enemyHealth.TakeDamage(damage, where_hit.point);
            }

            // Set the end point for the ray.
            gun_line.SetPosition(1, where_hit.point);
        }
        else
        {
            // shoot as far as it can go.
            gun_line.SetPosition(1, gun_now.transform.position + fpsCam.transform.forward * range);
        }
    }
示例#3
0
    void Shoot()
    {
        timer            = 0f;
        gunLight.enabled = true;
        gunParticles.Stop();
        gunParticles.Play();

        gunLine.enabled = true;
        gunLine.SetPosition(0, transform.position);
        //shootRay.origin은 광선이 시작되는 점
        shootRay.origin    = transform.position;
        shootRay.direction = transform.forward;

        if (Physics.Raycast(shootRay, out shootHit, Range, shootableMask))
        {
            Enemy_Health enemyHealth = shootHit.collider.GetComponent <Enemy_Health>();
            if (enemyHealth != null)
            {
                enemyHealth.TakeDamage(Damage, shootHit.point);
            }
            gunLine.SetPosition(1, shootHit.point);
            // ray가 맞춘 곳에서 광선이 멈춤
        }
        else
        {
            //적을 맞추지 않으면 그저 선만 긋는다.
            gunLine.SetPosition(1, shootRay.origin + shootRay.direction * Range);
        }
    }
示例#4
0
 void Awake()
 {
     player       = GameObject.FindGameObjectWithTag("Player");
     playerHealth = player.GetComponent <Player_Health>();
     enemyHealth  = GetComponent <Enemy_Health>();
     //anim = GetComponent<Animator>();
 }
示例#5
0
 // Use this for initialization
 void Start()
 {
     cam    = Camera.main.GetComponent <Transform>();
     player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>();;
     enemy  = GetComponentInParent <Enemy_Health>();
     image  = GetComponent <Image>();
     mat    = GetComponent <Material>();
 }
示例#6
0
 void Awake()
 {
     // Set up the references.
     player       = GameObject.Find("Player").transform;
     playerHealth = player.GetComponent <Player_Health>();
     enemyHealth  = GetComponent <Enemy_Health>();
     nav          = GetComponent <NavMeshAgent>();
 }
示例#7
0
    private void OnTriggerEnter2D(Collider2D other)//Данная ф-ция будет вызываться как только враг войдет в коллайдер оружия, проверяем является ли объект врагом либо нет.
    {
        Enemy_Health enemy_Health = other.GetComponent <Enemy_Health>();

        if (enemy_Health != null && _attackController.IsAttack)//Если мы попали в enemy_Controller и при этом мы нажали кнопку атаки, то
        {
            enemy_Health.ReduceHealth(damage);
            Debug.Log("attack");
            enemyHitSound.Play();
        }
    }
示例#8
0
 // Use this for initialization
 void Awake()
 {
     col             = GetComponent <CapsuleCollider>();
     anim            = GetComponent <Animator>();
     player          = GameObject.FindGameObjectWithTag("Player").transform;
     zombieTransform = this.transform;
     enemyHealth     = GetComponent <Enemy_Health>();
     playerHealth    = player.gameObject.GetComponent <PlayerHealth>();
     navAgent        = GetComponent <NavMeshAgent>();
     navigationIndex = Random.Range(0, navPoints.Length);
 }
 public void RemoveAllEnemy()
 {
     for (int i = 0; i < enemys.Count; i++)
     {
         if (enemys[i] != null)
         {
             Enemy_Health health = enemys[i].GetComponent <Enemy_Health>();
             health.GetDamage(1000, true, 0);
         }
     }
     enemys.Clear();
 }
示例#10
0
    IEnumerator Attack()
    {
        RaycastHit2D hit = Physics2D.Raycast(attackCheckPos.position, transform.position, attackDistance, enemyLayerMask); // рейкаст проверяет смотрим ли мы на противника

        if (hit.collider != null)
        {
            Enemy_Health enemy = hit.collider.GetComponent <Enemy_Health>(); // записываем противника чтобы менять его параментры
            enemy.Damaged(damage);                                           // у противника вызываем метод damage
        }
        yield return(new WaitForSeconds(damage_delay));                      // ждем

        attack = false;                                                      // атакуем false
    }
示例#11
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        Debug.Log("Hit an object");
        // Deal Damage
        Enemy_Health enemy = other.GetComponent <Enemy_Health>();

        if (enemy != null)
        {
            enemy.DealDamage(damage);
        }

        // Destroy the bullet
        Destroy(gameObject);
    }
示例#12
0
    // Use this for initialization
    void Start()
    {
        agent  = GetComponent <NavMeshAgent>();
        target = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>();

        meleeCollider     = GameObject.FindGameObjectWithTag("Enemy_Melee").GetComponent <EnemyMeleeCollider>();
        meleeColl         = GameObject.FindGameObjectWithTag("Enemy_Melee").GetComponent <BoxCollider>();
        meleeColl.enabled = false;

        eHealth = GetComponent <Enemy_Health>();

        anim = GetComponent <Animator>();
        rb   = GetComponent <Rigidbody>();
    }
    /* IEnumerator InjuredFlicker()
     * {
     *   while(true)
     *   {
     *       flickerTimer += Time.deltaTime;
     *       GetComponent<SpriteRenderer>().enabled = false;
     *       yield return new WaitForSeconds(.125f);
     *       GetComponent<SpriteRenderer>().enabled = true;
     *       yield return new WaitForSeconds(.125f);
     *   }
     * }*/


    public void Respawn()
    {
        GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy");
        foreach (GameObject e in enemies)
        {
            Enemy_Health enemyHealth = e.GetComponent(typeof(Enemy_Health)) as Enemy_Health;
            enemyHealth.SetCurrentHealth(enemyHealth.maxHealth);
        }

        health = maxHealth;
        gameObject.GetComponent <Rigidbody2D>().velocity = Vector2.zero;
        gameObject.transform.position = respawn.transform.position;
        AddPoints(-1 * deathPenalty);
    }
示例#14
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision != null && hitActive == true)
     {
         if (collision.tag == "enemy")
         {
             //Destroy(collision.gameObject)  Destroys objects it touches
             GameObject   enemy        = collision.gameObject;
             Enemy_Health healthScript = enemy.GetComponent <Enemy_Health>();
             healthScript.reduceHealth(Player_Move_Prot.playerDamage);
             enemy.GetComponent <Enemy_Move>().knockbackEnemy();
             Debug.Log("Enemy hit");
         }
     }
 }
示例#15
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "enemy")
     {
         GameObject   enemy        = other.gameObject;
         Enemy_Health healthScript = enemy.GetComponent <Enemy_Health>();
         healthScript.reduceHealth(1);
         //enemy.GetComponent<Enemy_Move>().knockbackEnemy();
         Debug.Log("Enemy hit");
         Destroy(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
示例#16
0
    // Start is called before the first frame update
    void Start()
    {
        enemyRB  = GetComponent <Rigidbody2D>();
        isMoving = false;
        bool xNegative;
        bool yNegative;

        xNegative = Random.Range(1, 3) % 2 == 0;
        yNegative = Random.Range(1, 3) % 2 == 0;


        holderIsCurrent = false;
        fireCD          = 0;
        longShot        = GetComponent <LongShot>();
        health          = GetComponent <Enemy_Health>();
        sprite          = GetComponent <SpriteRenderer>();
    }
示例#17
0
 // Update is called once per frame
 void Update()
 {
     Collider[] hits = Physics.OverlapSphere(hitPoint.position, radius, enemyLayer);
     foreach (Collider c in hits)
     {
         if (c.isTrigger)
         {
             continue;
         }
         enemyHealth = c.gameObject.GetComponent <Enemy_Health>();
         collided    = true;
         if (collided)
         {
             Instantiate(attackEffect, hitPoint.position, hitPoint.rotation);
             enemyHealth.EnemyTakeDamage(damageCount);
         }
     }
 }
示例#18
0
 // Update is called once per frame
 void Update()
 {
     if (_target)
     {
         _Health = _target.GetComponentInParent <Enemy_Health>();
         if (_Health)
         {
             health_Bar.fillAmount = _Health._health / _Health.max_health;
             health_Bar.enabled    = true;
         }
     }
     else
     {
         Player_State.islock   = false;
         health_Bar.fillAmount = 1;
         health_Bar.enabled    = false;
     }
 }
示例#19
0
    // Update is called once per frame
    void Update()
    {
        Collider[] hits = Physics.OverlapSphere(transform.position, radius, zombieLayer);
        foreach (Collider c in hits)
        {
            if (c.isTrigger)
            {
                continue;
            }
            attackTarget = c.gameObject.GetComponent <Enemy_Health>();
            collided     = true;

            if (collided)
            {
                Instantiate(damageEffect, transform.position, transform.rotation);
                attackTarget.EnemyTakeDamage(damageCount);
            }
        }
    }
示例#20
0
    // Attack

    private void Attack()
    {
        float distance = Vector3.Distance(target.transform.position, transform.position);

        Vector3 dir       = (target.transform.position - transform.position).normalized;
        float   direction = Vector3.Dot(dir, transform.forward);

        if (distance < 2)           // If the player is facing towards the enemy and is within a certain distance of them, they can deal damage
        {
            if (direction > 0)
            {
                Enemy_Health eh = (Enemy_Health)target.GetComponent("Enemy_Health");
                eh.AdjustCurrentHealth(-5);
                if (equipped.showWeapon)                   // If the baseball bat is equipped the player will deal twice as much damage
                {
                    eh.AdjustCurrentHealth(-10);
                }
            }
        }
    }
示例#21
0
 private void Start()
 {
     if (!StartsLookingRight)
     {
         Flip();
     }
     if (CanShoot)
     {
         DetectionRange = 10f;
     }
     else
     {
         DetectionRange = 0.5f;
     }
     if (Stationary)
     {
         speed = 0;
     }
     health = GetComponent <Enemy_Health>();
 }
 void Start()
 {
     _player_Bullet  = FindObjectOfType <Player_Bullet>();
     _enemy_Health   = gameObject.GetComponentInParent <Enemy_Health>();
     _enemy_Movement = gameObject.GetComponentInParent <Enemy_Movement>();
 }
示例#23
0
 void Awake()
 {
     player       = GameObject.Find("Player");
     playerHealth = player.GetComponent <Player_Health>();
     enemyHealth  = GetComponent <Enemy_Health>();
 }
示例#24
0
 void Start()
 {
     stopPoison  = false;
     enemyHealth = GetComponent <Enemy_Health>();
 }
示例#25
0
 // Enemy_Health
 protected void GiveDamage(Enemy_Health target)
 {
     target.TakeDamage(damage);
 }
 void Awake()
 {
     enemyHealth     = GetComponent <Enemy_Health>();
     enemyController = GetComponent <Enemy_Controller>();
     anim            = GetComponent <Animator>();
 }
 void Start()
 {
     _animator      = GetComponent <Animator>();
     _enemyMovement = GetComponent <Enemy_Movement>();
     _enemyHealth   = GetComponent <Enemy_Health>();
 }
示例#28
0
 void Start()
 {
     _enemy_Health = GetComponent <Enemy_Health>();
     StartCoroutine(RandomVector2());
 }