RaycastHit Hits = Physics.RaycastAll(RayLine, Range);
RaycastHit FinalHit;
float LastDistance = 0;
foreach(RaycastHit Hit in Hits)
{
if(Hit.transform != transform && (LastDistance == 0 || Hit.distance < LastDistance))
{
FinalHit = Hit;
LastDistance = Hit.distance;
}
}
if(!FinalHit) // ERROR LINE <<<<<<<<<<<<<<<<<<<<<<<<<<<<
{
Hit();
}
/*2 errors on one line:
error CS0165: Use of unassigned local variable `FinalHit'
error CS0023: The `!' operator cannot be applied to operand of type `UnityEngine.RaycastHit'*/
Seems like FinalHit = Hit isn’t assigning the FinalHit variable. How do I solve it besides by assigning the Hit.transform to FinalHit? And how do I check if FinalHit is null/empty?
EDIT:
I SOLVE THE USE OF UNASSIGNED VARIABLE PROBLEM BY DOING
RaycastHit FinalHit = new RaycastHit();
Yeah thanks guys, looks like I have no way of doing !FinalHit, I am currently doing it the same way as KiraSensei's way
– SlonCHL