I was analyzing the slate input system.
and I’ve faced the comment which i couldn’t understand why.
HittestGrid.cpp - Line No. 691, 692
// When performing a point hittest,
accept all hittestable widgets.// When performing a hittest with a
radius, only grab interactive widgets.
can someone explains why this was necessary?
when slate system finds appropriate widget that has hitted by cursor(or pointer),
first look it up exact cursor point at that time you guys not check widget’s IsInteractable() method.
and after that it is not checked you guys do check widgets inside cursor’s radius, but this time checks IsInteractable()
I wonder what reason makes this behavior difference.
Isn’t that check widget’s IsInteractable() in every case would be simpler and more robust?
there are any reason behind that I couldn’t find out?
I try to understand why and I have spend times to look it up other code around but i couldn’t find a reason.
can someone internal who knows history of this explains to me??