- Home /
Forcing ordering of spherecastall?
Is there any way to for an ordered array (based on distance) to come out of physics.spherecastall? I have some objects that I want to be penetrable by the cast, but as soon as I hit one that is not I ignore the rest of the array by setting a bool to true that ends the loop. Everything that is penetrated is still affected, usually with destroy. I guess I could run a simple sort, but that does not sound like the best option performance wise, but then again the array will usually be pretty small, maybe just sort the closest one to the front and check if it should be penetrated? I just wish i could make the list come pre-sorted.
Well, if you want the list to be sorted, either Unity, or you, need to do the sort. The API currently doesn't deliver the results sorted, so you'll need to do this. If Unity did the sort, it would have to do a full distance based sort - it would know nothing about the objects in the array. Your game code does know what these objects are, so you can probably optimise the sorting, in the way you've suggested.
Yeah, I decided to just accept it and do the sort. It really wasn't that bad, I'm just sick of sorting after writing half a dozen sort programs in class that I wanted a lazy way out. I used selection sort with a if that breaks out if it finds a wall.