public static void UnSubscribe(FocusAbleGUIDrawer drawer) { if (Instance.drawers.Contains(drawer)) { Instance.drawers.Remove(drawer); } if (Instance.UUIDs.Contains(drawer.FocusID)) { Instance.UUIDs.Remove(drawer.FocusID); } }
public static void Diffuse(FocusAbleGUIDrawer drawer) { if (CurFocusDrawer == drawer) { for (int i = 0; i < Instance.drawers.Count; i++) { Instance.drawers[i].Focused = false; } GUI.FocusControl(null); CurFocusDrawer = null; } }
public static string Subscribe(FocusAbleGUIDrawer drawer) { if (!Instance.drawers.Contains(drawer)) { Instance.drawers.Add(drawer); } string uuid = drawer.GetHashCode().ToString(); if (Instance.UUIDs.Contains(uuid)) { uuid += "1"; } Instance.UUIDs.Add(uuid); return(uuid); }
public static void Focus(FocusAbleGUIDrawer drawer) { if (CurFocusDrawer == drawer) { GUI.FocusControl(null); } CurFocusDrawer = drawer; for (int i = 0; i < Instance.drawers.Count; i++) { if (Instance.drawers[i] == drawer) { Instance.drawers[i].Focused = true; } else { Instance.drawers[i].Focused = false; } } GUI.FocusControl(null); GUI.FocusControl(drawer.FocusID); }
public static bool Contans(FocusAbleGUIDrawer drawer) { return(Instance.drawers.Contains(drawer)); }