private bool FillDrawCall(UIDrawCall dc) { if (dc != null) { dc.isDirty = false; int num = 0; int num2 = 0; while (num2 < widgets.Count) { UIWidget uIWidget = widgets[num2]; if (uIWidget == null) { widgets.RemoveAt(num2); } else { if (uIWidget.drawCall == dc) { if (uIWidget.isVisible && uIWidget.hasVertices) { num++; if (generateNormals) { uIWidget.WriteToBuffers(dc.verts, dc.uvs, dc.cols, dc.norms, dc.tans); } else { uIWidget.WriteToBuffers(dc.verts, dc.uvs, dc.cols, null, null); } if (uIWidget.mOnRender != null) { if (mOnRender == null) { mOnRender = uIWidget.mOnRender; } else { mOnRender = (UIDrawCall.OnRenderCallback)Delegate.Combine(mOnRender, uIWidget.mOnRender); } } } else { uIWidget.drawCall = null; } } num2++; } } if (dc.verts.size != 0) { dc.UpdateGeometry(num); dc.onRender = mOnRender; mOnRender = null; return(true); } } return(false); }
public bool FillDrawCall(UIDrawCall dc) { if (dc != null) { dc.isDirty = false; int num = 0; int i = 0; while (i < this.widgets.Count) { UIWidget uiwidget = this.widgets[i]; if (uiwidget == null) { this.widgets.RemoveAt(i); } else { if (uiwidget.drawCall == dc) { if (uiwidget.isVisible && uiwidget.hasVertices) { num++; if (this.generateNormals) { uiwidget.WriteToBuffers(dc.verts, dc.uvs, dc.cols, dc.norms, dc.tans); } else { uiwidget.WriteToBuffers(dc.verts, dc.uvs, dc.cols, null, null); } if (uiwidget.mOnRender != null) { if (this.mOnRender == null) { this.mOnRender = uiwidget.mOnRender; } else { this.mOnRender = (UIDrawCall.OnRenderCallback)Delegate.Combine(this.mOnRender, uiwidget.mOnRender); } } } else { uiwidget.drawCall = null; } } i++; } } if (dc.verts.size != 0) { dc.UpdateGeometry(num); dc.onRender = this.mOnRender; this.mOnRender = null; return(true); } } return(false); }
public static Delegate UIDrawCall_OnRenderCallback(LuaFunction func) { if (func == null) { UIDrawCall.OnRenderCallback fn = delegate { }; return(fn); } UIDrawCall.OnRenderCallback d = (new UIDrawCall_OnRenderCallback_Event(func)).Call; return(d); }
public static Delegate UIDrawCall_OnRenderCallback(LuaFunction func) { UIDrawCall.OnRenderCallback d = (param0) => { int top = func.BeginPCall(); IntPtr L = func.GetLuaState(); LuaScriptMgr.Push(L, param0); func.PCall(top, 1); func.EndPCall(top); }; return(d); }
/// <summary> /// Fill the geometry for the specified draw call. /// </summary> bool FillDrawCall (UIDrawCall dc) { if (dc != null) { dc.isDirty = false; int count = 0; for (int i = 0; i < widgets.Count; ) { UIWidget w = widgets[i]; if (w == null) { #if UNITY_EDITOR Debug.LogError("This should never happen"); #endif widgets.RemoveAt(i); continue; } if (w.drawCall == dc) { if (w.isVisible && w.hasVertices) { ++count; if (generateNormals) w.WriteToBuffers(dc.verts, dc.uvs, dc.cols, dc.norms, dc.tans); else w.WriteToBuffers(dc.verts, dc.uvs, dc.cols, null, null); if (w.mOnRender != null) { if (mOnRender == null) mOnRender = w.mOnRender; else mOnRender += w.mOnRender; } } else w.drawCall = null; } ++i; } if (dc.verts.size != 0) { dc.UpdateGeometry(count); dc.onRender = mOnRender; mOnRender = null; return true; } } return false; }
static int get_onRender(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); UIWidget obj = (UIWidget)o; UIDrawCall.OnRenderCallback ret = obj.onRender; ToLua.Push(L, ret); return 1; } catch(Exception e) { return LuaDLL.toluaL_exception(L, e, o, "attempt to index onRender on a nil value"); } }
static int set_onRender(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); UIWidget obj = (UIWidget)o; UIDrawCall.OnRenderCallback arg0 = (UIDrawCall.OnRenderCallback)ToLua.CheckDelegate<UIDrawCall.OnRenderCallback>(L, 2); obj.onRender = arg0; return 0; } catch(Exception e) { return LuaDLL.toluaL_exception(L, e, o, "attempt to index onRender on a nil value"); } }
public UIDrawCall.OnRenderCallback UIDrawCall_OnRenderCallback(LuaFunction func, LuaTable self, bool flag) { if (func == null) { UIDrawCall.OnRenderCallback fn = delegate(UnityEngine.Material param0) { }; return(fn); } if (!flag) { UIDrawCall_OnRenderCallback_Event target = new UIDrawCall_OnRenderCallback_Event(func); UIDrawCall.OnRenderCallback d = target.Call; target.method = d.Method; return(d); } else { UIDrawCall_OnRenderCallback_Event target = new UIDrawCall_OnRenderCallback_Event(func, self); UIDrawCall.OnRenderCallback d = target.CallWithSelf; target.method = d.Method; return(d); } }
static internal int checkDelegate(IntPtr l, int p, out UIDrawCall.OnRenderCallback ua) { int op = extractFunction(l, p); if (LuaDLL.lua_isnil(l, p)) { ua = null; return(op); } else if (LuaDLL.lua_isuserdata(l, p) == 1) { ua = (UIDrawCall.OnRenderCallback)checkObj(l, p); return(op); } LuaDelegate ld; checkType(l, -1, out ld); if (ld.d != null) { ua = (UIDrawCall.OnRenderCallback)ld.d; return(op); } LuaDLL.lua_pop(l, 1); l = LuaState.get(l).L; ua = (UnityEngine.Material a1) => { int error = pushTry(l); pushValue(l, a1); ld.pcall(1, error); LuaDLL.lua_settop(l, error - 1); }; ld.d = ua; return(op); }
void Push_UIDrawCall_OnRenderCallback(IntPtr L, UIDrawCall.OnRenderCallback o) { ToLua.Push(L, o); }
private void FillAllDrawCalls() { for (int i = 0; i < drawCalls.Count; i++) { UIDrawCall.Destroy(drawCalls[i]); } drawCalls.Clear(); Material material = null; Texture texture = null; Shader shader = null; UIDrawCall uIDrawCall = null; int num = 0; if (mSortWidgets) { SortWidgets(); } for (int j = 0; j < widgets.Count; j++) { UIWidget uIWidget = widgets[j]; if (uIWidget.isVisible && uIWidget.hasVertices) { Material material2 = uIWidget.material; Texture mainTexture = uIWidget.mainTexture; Shader shader2 = uIWidget.shader; if (material != material2 || texture != mainTexture || shader != shader2) { if (uIDrawCall != null && uIDrawCall.verts.size != 0) { drawCalls.Add(uIDrawCall); uIDrawCall.UpdateGeometry(num); uIDrawCall.onRender = mOnRender; mOnRender = null; num = 0; uIDrawCall = null; } material = material2; texture = mainTexture; shader = shader2; } if (material != null || shader != null || texture != null) { if (uIDrawCall == null) { uIDrawCall = UIDrawCall.Create(this, material, texture, shader); uIDrawCall.depthStart = uIWidget.depth; uIDrawCall.depthEnd = uIDrawCall.depthStart; uIDrawCall.panel = this; } else { int depth = uIWidget.depth; if (depth < uIDrawCall.depthStart) { uIDrawCall.depthStart = depth; } if (depth > uIDrawCall.depthEnd) { uIDrawCall.depthEnd = depth; } } uIWidget.drawCall = uIDrawCall; num++; if (generateNormals) { uIWidget.WriteToBuffers(uIDrawCall.verts, uIDrawCall.uvs, uIDrawCall.cols, uIDrawCall.norms, uIDrawCall.tans); } else { uIWidget.WriteToBuffers(uIDrawCall.verts, uIDrawCall.uvs, uIDrawCall.cols, null, null); } if (uIWidget.mOnRender != null) { if (mOnRender == null) { mOnRender = uIWidget.mOnRender; } else { mOnRender = (UIDrawCall.OnRenderCallback)Delegate.Combine(mOnRender, uIWidget.mOnRender); } } } } else { uIWidget.drawCall = null; } } if (uIDrawCall != null && uIDrawCall.verts.size != 0) { drawCalls.Add(uIDrawCall); uIDrawCall.UpdateGeometry(num); uIDrawCall.onRender = mOnRender; mOnRender = null; } }
private bool FillDrawCall(UIDrawCall dc) { if (dc != null) { dc.isDirty = false; int num = 0; int i = 0; while (i < this.widgets.Count) { UIWidget uIWidget = this.widgets[i]; if (uIWidget == null) { this.widgets.RemoveAt(i); } else { if (uIWidget.drawCall == dc) { if (uIWidget.isVisible && uIWidget.hasVertices) { num++; if (this.generateNormals) { uIWidget.WriteToBuffers(dc.verts, dc.uvs, dc.cols, dc.norms, dc.tans); } else { uIWidget.WriteToBuffers(dc.verts, dc.uvs, dc.cols, null, null); } if (uIWidget.mOnRender != null) { if (this.mOnRender == null) { this.mOnRender = uIWidget.mOnRender; } else { this.mOnRender = (UIDrawCall.OnRenderCallback)Delegate.Combine(this.mOnRender, uIWidget.mOnRender); } } } else { uIWidget.drawCall = null; } } i++; } } if (dc.verts.size != 0) { dc.UpdateGeometry(num); dc.onRender = this.mOnRender; this.mOnRender = null; return true; } } return false; }
private void FillAllDrawCalls() { for (int i = 0; i < this.drawCalls.Count; i++) { UIDrawCall.Destroy(this.drawCalls[i]); } this.drawCalls.Clear(); Material material = null; Texture texture = null; Shader shader = null; UIDrawCall uIDrawCall = null; int num = 0; if (this.mSortWidgets) { this.SortWidgets(); } for (int j = 0; j < this.widgets.Count; j++) { UIWidget uIWidget = this.widgets[j]; if (uIWidget.isVisible && uIWidget.hasVertices) { Material material2 = uIWidget.material; Texture mainTexture = uIWidget.mainTexture; Shader shader2 = uIWidget.shader; if (material != material2 || texture != mainTexture || shader != shader2) { if (uIDrawCall != null && uIDrawCall.verts.size != 0) { this.drawCalls.Add(uIDrawCall); uIDrawCall.UpdateGeometry(num); uIDrawCall.onRender = this.mOnRender; this.mOnRender = null; num = 0; uIDrawCall = null; } material = material2; texture = mainTexture; shader = shader2; } if (material != null || shader != null || texture != null) { if (uIDrawCall == null) { uIDrawCall = UIDrawCall.Create(this, material, texture, shader); uIDrawCall.depthStart = uIWidget.depth; uIDrawCall.depthEnd = uIDrawCall.depthStart; uIDrawCall.panel = this; } else { int depth = uIWidget.depth; if (depth < uIDrawCall.depthStart) { uIDrawCall.depthStart = depth; } if (depth > uIDrawCall.depthEnd) { uIDrawCall.depthEnd = depth; } } uIWidget.drawCall = uIDrawCall; num++; if (this.generateNormals) { uIWidget.WriteToBuffers(uIDrawCall.verts, uIDrawCall.uvs, uIDrawCall.cols, uIDrawCall.norms, uIDrawCall.tans); } else { uIWidget.WriteToBuffers(uIDrawCall.verts, uIDrawCall.uvs, uIDrawCall.cols, null, null); } if (uIWidget.mOnRender != null) { if (this.mOnRender == null) { this.mOnRender = uIWidget.mOnRender; } else { this.mOnRender = (UIDrawCall.OnRenderCallback)Delegate.Combine(this.mOnRender, uIWidget.mOnRender); } } } } else { uIWidget.drawCall = null; } } if (uIDrawCall != null && uIDrawCall.verts.size != 0) { this.drawCalls.Add(uIDrawCall); uIDrawCall.UpdateGeometry(num); uIDrawCall.onRender = this.mOnRender; this.mOnRender = null; } }