[MenuItem("NGUI/Quick Actions/Execute All")]
private static void ExecuteAll()
{
foreach (var obj in Object.FindObjectsOfType<MonoBehaviour>())
{
var methods = obj.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
var executeMethod
= methods
.FirstOrDefault(m
=> m
.GetCustomAttributes(typeof(ContextMenu
),
false).Any(cm
=> (cm
as ContextMenu
).menuItem == "Execute"));
if (executeMethod != null)
{
executeMethod.Invoke(obj, null);
}
}
}