Hey everyone I am new to unity scripting and I made a gun script but the laser is not visible but the enemy can get shot. My code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Gun : MonoBehaviour
{
public Transform barrel;
public float range = 0f;
private LineRenderer lineRenderer;
// Start is called before the first frame update
void Start()
{
lineRenderer = GetComponent();
lineRenderer.enabled = false;
lineRenderer.useWorldSpace = true;
}
// Update is called once per frame
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
StartCoroutine("Fire");
lineRenderer.enabled = true;
}
else
{
lineRenderer.enabled = false;
}
}
IEnumerator Fire()
{
RaycastHit hit;
Ray ray = new Ray(transform.position, transform.forward);
Debug.DrawRay(transform.position, transform.forward * range, Color.blue, 50);
if(Physics.Raycast(ray, out hit, range))
{
if(hit.collider.tag == "Enemy")
{
Enemy enemy = hit.collider.GetComponent<Enemy>();
enemy.health -= 1;
}
}
lineRenderer.SetPosition(0, transform.position);
lineRenderer.SetPosition(1, transform.position);
yield return null;
}
}