void DrawList(Rect rect){
UnityEngine.Event evt = UnityEngine.Event.current;
int i = -1;
foreach (var element in m_Data.m_ListElements) {
i++;
Rect label_rect = new Rect(rect.x, rect.y + k_Margin + i * k_LineHeight, rect.width, k_LineHeight);
switch (evt.type){
case EventType.Repaint:{
bool isHover = i == m_SelectedCompletionIndex;
menuItem.Draw(label_rect, element.m_Content, isHover, element.selected, element.selected, false);
}
break;
case EventType.MouseDown:{
if (evt.button == 0) {
if (label_rect.Contains(evt.mousePosition)) {
if (m_Data.m_OnSelectCallback != null) m_Data.m_OnSelectCallback(element);
evt.Use();
editorWindow.Close();
}
}
}
break;
case EventType.MouseMove:{
if (label_rect.Contains(evt.mousePosition)){
m_SelectedCompletionIndex = i;
evt.Use();
}
}
break;
}
}
}