public static bool SetFocus(MaterialFocusGroup p_container) { MaterialFocusGroup v_oldFocus = GetFocus(); if (p_container != null) { if (v_oldFocus != p_container) { var v_index = FocusOrder.IndexOf(p_container); if (v_index >= 0) { FocusOrder.RemoveAt(v_index); } if (FocusOrder.Count > 0) { FocusOrder.Insert(0, p_container); } else { FocusOrder.Add(p_container); } //Call Focus Events if (v_oldFocus != null) { v_oldFocus.HandleOnLoseFocus(); } p_container.HandleOnGainFocus(); return(true); } } return(false); }
public static void SetFocus(FocusGroup p_container) { FocusGroup v_oldFocus = GetFocus(); if (p_container != null) { if (v_oldFocus != p_container) { FocusOrder.RemoveChecking(p_container); if (FocusOrder.Count > 0) { FocusOrder.Insert(0, p_container); } else { FocusOrder.Add(p_container); } //Call Focus Events if (v_oldFocus != null && v_oldFocus.OnLoseFocusCallback != null) { v_oldFocus.OnLoseFocusCallback.Invoke(); } if (p_container.OnGainFocusCallback != null) { p_container.OnGainFocusCallback.Invoke(); } } } }
public static void SetFocus(FocusContainer p_container) { if (p_container != null && GetFocus() != p_container) { FocusOrder.RemoveChecking(p_container); if (FocusOrder.Count > 0) { FocusOrder.Insert(0, p_container); } else { FocusOrder.Add(p_container); } } }