Beispiel #1
0
    void Laser()
    {
        targetEnemy.TakeDamage(damageOverTime * Time.deltaTime);
        foreach (BuffState buffState in buffStatesToTarget)
        {
            targetEnemy.AddBuffState(buffState);
        }

        if (!lineRenderer.enabled)
        {
            lineRenderer.enabled = true;
            laserImpactEffect.Play();
        }

        lineRenderer.SetPosition(0, firePoint.position);
        lineRenderer.SetPosition(1, targetEnemy.transform.position);

        Vector3        direction = (firePoint.position - targetEnemy.transform.position).normalized;
        SphereCollider collider  = targetEnemy.GetComponent <SphereCollider>();

        laserImpactEffect.transform.position = targetEnemy.transform.position + direction * collider.radius;
        laserImpactEffect.transform.rotation = Quaternion.LookRotation(direction);
    }