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 RemoveFocus(FocusContainer p_container) { if (p_container != null) { FocusOrder.RemoveChecking(p_container); } }
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); } } }
public static void RemoveFocus(FocusGroup p_container) { if (p_container != null) { FocusGroup v_oldFocus = GetFocus(); FocusOrder.RemoveChecking(p_container); //Call Focus Events if (v_oldFocus == p_container) { FocusGroup v_newFocus = GetFocus(); if (v_oldFocus.OnLoseFocusCallback != null) { v_oldFocus.OnLoseFocusCallback.Invoke(); } if (v_newFocus != null && v_newFocus.OnGainFocusCallback != null) { v_newFocus.OnGainFocusCallback.Invoke(); } } } }