public static int RecalculateMasking(IntPtr l) { int result; try { IMaskable maskable = (IMaskable)LuaObject.checkSelf(l); maskable.RecalculateMasking(); LuaObject.pushValue(l, true); result = 1; } catch (Exception e) { result = LuaObject.error(l, e); } return(result); }
/// <summary> /// /// <para> /// Notify all IMaskable under the given component that they need to recalculate masking. /// </para> /// /// </summary> /// <param name="mask"/> public static void NotifyStencilStateChanged(Component mask) { List <Component> list = ListPool <Component> .Get(); mask.GetComponentsInChildren <Component>(list); for (int index = 0; index < list.Count; ++index) { if (!((Object)list[index] == (Object)null) && !((Object)list[index].gameObject == (Object)mask.gameObject)) { IMaskable maskable = list[index] as IMaskable; if (maskable != null) { maskable.RecalculateMasking(); } } } ListPool <Component> .Release(list); }
/// <summary> /// <para>Notify all IMaskable under the given component that they need to recalculate masking.</para> /// </summary> /// <param name="mask"></param> public static void NotifyStencilStateChanged(Component mask) { List <Component> results = ListPool <Component> .Get(); mask.GetComponentsInChildren <Component>(results); for (int i = 0; i < results.Count; i++) { if ((results[i] != null) && (results[i].gameObject != mask.gameObject)) { IMaskable maskable = results[i] as IMaskable; if (maskable != null) { maskable.RecalculateMasking(); } } } ListPool <Component> .Release(results); }