Exemplo n.º 1
0
    private void Attack()
    {
        Vector3 dir = (target.transform.position - transform.position).normalized;

        float distance = Vector3.Distance(target.transform.position, transform.position);

        float direction = Vector3.Dot(dir, transform.forward);

        if (distance < 3)
        {
            if (direction > 0)
            {
                Ally_Health_Tracking eh = (Ally_Health_Tracking)target.GetComponent("Ally_Health_Tracking");

                eh.AddjustCurentHealth(-10);
            }
        }
    }
Exemplo n.º 2
0
    public void Explode()
    {
        foreach (Transform trans in bombables)
        {
            if (Vector3.Distance(transform.position, trans.position) <= explosionRadius)
            {
                Destroy(trans.gameObject);
                audio.Play();
            }
        }
        foreach (Transform trans in enemys)
        {
            if (Vector3.Distance(transform.position, trans.position) <= explosionRadius)
            {
                Enemy_health_tracking eh = (Enemy_health_tracking)trans.gameObject.GetComponent("Enemy_health_tracking");
                eh.AddjustCurentHealth(-damage);
                audio.Play();
            }
        }

        foreach (Transform trans in players)
        {
            if (Vector3.Distance(transform.position, trans.position) <= explosionRadius)
            {
                Ally_Health_Tracking al = (Ally_Health_Tracking)trans.gameObject.GetComponent("Ally_Health_Tracking");
                al.AddjustCurentHealth(-damage);
                audio.Play();
            }
        }

        foreach (Transform trans in moveables)
        {
            if (Vector3.Distance(transform.position, trans.position) <= explosionRadius)
            {
                trans.rigidbody.isKinematic = false;
                trans.rigidbody.WakeUp( );
                audio.Play();
            }
        }

        bombables = new List <Transform>();
        moveables = new List <Transform>();
    }