public static Delegate Canvas_WillRenderCanvases(LuaFunction func) { Canvas.WillRenderCanvases d = () => { func.Call(); }; return(d); }
private static void SendWillRenderCanvases() { Canvas.WillRenderCanvases expr_06 = Canvas.willRenderCanvases; if (expr_06 != null) { expr_06(); } }
static Canvas.WillRenderCanvases GetOnWillRenderCanvasEvent() { System.Type classType = typeof(Canvas); FieldInfo eventField = classType.GetField("willRenderCanvases", BindingFlags.GetField | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); Canvas.WillRenderCanvases eventValue = (Canvas.WillRenderCanvases)eventField.GetValue(null); // eventDelegate will be null if no listeners are attached to the event if (eventValue == null) { return(null); } return(eventValue); }
protected CanvasRebuildRegistry(CanvasUpdateRegistry p_baseInstanceTemplate) : base() { //Unregister base PerformUpdate if (p_baseInstanceTemplate != null) { //Unregister events from base type var v_eventOnWillRenderCanvas = GetOnWillRenderCanvasEvent(); if (v_eventOnWillRenderCanvas != null) { var v_invocationList = v_eventOnWillRenderCanvas.GetInvocationList(); foreach (var v_delegate in v_invocationList) { if (v_delegate != null && v_delegate.Target is CanvasUpdateRegistry && (v_delegate.Method.Name == "PerformUpdate")) { Canvas.willRenderCanvases -= (Canvas.WillRenderCanvases)v_delegate; //Save base delegate to force invoke after PerformRefresh if (v_delegate.Target == this) { OnBasePerformUpdate = (Canvas.WillRenderCanvases)v_delegate; } } } } //Add invalid graphic elements if (GraphicRebuildQueue != null) { var v_oldGraphics = s_graphicRebuildQueueInfo.GetValue(p_baseInstanceTemplate) as IList <ICanvasElement>; if (v_oldGraphics != null) { for (int i = 0; i < v_oldGraphics.Count; i++) { var v_graphic = v_oldGraphics[i]; if (!GraphicRebuildQueue.Contains(v_graphic)) { GraphicRebuildQueue.Add(v_graphic); } } } } //Add invalid layout elements if (LayoutRebuildQueue != null) { var v_oldLayouts = s_layoutRebuildQueueInfo.GetValue(p_baseInstanceTemplate) as IList <ICanvasElement>; if (v_oldLayouts != null) { for (int i = 0; i < v_oldLayouts.Count; i++) { var v_layout = v_oldLayouts[i]; if (!LayoutRebuildQueue.Contains(v_layout)) { LayoutRebuildQueue.Add(v_layout); } } } } } //Register new PerformUpdate Canvas.willRenderCanvases -= this.OnBeforePerformUpdate; Canvas.willRenderCanvases += this.OnBeforePerformUpdate; }
private LayoutGroupFix() { m_Callback = RebuildFromEnabled; }