12 [MenuItem(
"Window/UI/Extensions/Canvas Groups Activator")]
18 CanvasGroup[] canvasGroups;
30 void ObtainCanvasGroups()
32 canvasGroups = GameObject.FindObjectsOfType<CanvasGroup>();
37 if (canvasGroups ==
null)
43 GUILayout.Label(
"Canvas Groups");
45 for (
int i = 0; i < canvasGroups.Length; i++)
47 if (canvasGroups[i] ==
null) {
continue; }
49 bool initialActive =
false;
50 if (canvasGroups[i].alpha == 1.0f)
53 bool active = EditorGUILayout.Toggle(canvasGroups[i].name, initialActive);
54 if (active != initialActive)
57 if (!active && initialActive)
60 canvasGroups[i].alpha = 0f;
61 canvasGroups[i].interactable =
false;
62 canvasGroups[i].blocksRaycasts =
false;
65 else if (active && !initialActive)
70 canvasGroups[i].alpha = 1.0f;
71 canvasGroups[i].interactable =
true;
72 canvasGroups[i].blocksRaycasts =
true;
79 if (GUILayout.Button(
"Show All"))
84 if (GUILayout.Button(
"Hide All"))
92 foreach (var group
in canvasGroups)
97 group.interactable =
true;
98 group.blocksRaycasts =
true;
105 foreach (var group
in canvasGroups)
110 group.interactable =
false;
111 group.blocksRaycasts =
false;
Credit Erdener Gonenc - @PixelEnvision.