Example #1
0
    private IEnumerator Fire()
    {
        var hits = Physics2D.Raycast(transform.position, direction, hitFilter, hitBuffer);

        if (hits > 0)
        {
            var hitDetector = hitBuffer[0].collider.gameObject.GetComponent <HitDetector>();
            if (hitDetector != null)
            {
                hitDetector.Hit(Hit.Shot, direction);
            }
        }

        beam.startWidth = beam.endWidth = fireBeamWidth;

        CameraJuicer.Kick(direction);
        CameraJuicer.Shake();

        yield return(new WaitForSeconds(0.1f));

        beam.enabled = false;
    }