public CL_Binder(Controllable owner, uLink.NetworkViewID rootID, uLink.NetworkViewID parentID, ref uLink.NetworkMessageInfo info) { this._root.id = rootID; this._parent.id = parentID; this._info = info; this.owner = owner; this.sameSearch = this._root.id == this._parent.id; int num = Controllable.CL_Binder.binderCount; Controllable.CL_Binder.binderCount = num + 1; if (num != 0) { this.prev = Controllable.CL_Binder.last; this.prev.next = this; Controllable.CL_Binder.last = this; } else { Controllable.CL_Binder cLBinder = this; Controllable.CL_Binder.last = cLBinder; Controllable.CL_Binder.first = cLBinder; } }
public void Dispose() { Controllable.CL_Binder cLBinder; if (this.disposed) { return; } this.disposed = true; if (this.owner && this.owner._binder == this) { this.owner._binder = null; } int num = Controllable.CL_Binder.binderCount - 1; Controllable.CL_Binder.binderCount = num; if (num != 0) { if (Controllable.CL_Binder.first == this) { Controllable.CL_Binder.first = this.next; this.next.prev = null; } else if (Controllable.CL_Binder.last != this) { this.next.prev = this.prev; this.prev.next = this.next; } else { Controllable.CL_Binder.last = this.prev; this.prev.next = null; } object obj = null; cLBinder = (Controllable.CL_Binder)obj; this.prev = (Controllable.CL_Binder)obj; this.next = cLBinder; } else { object obj1 = null; cLBinder = (Controllable.CL_Binder)obj1; this.prev = (Controllable.CL_Binder)obj1; Controllable.CL_Binder cLBinder1 = cLBinder; cLBinder = cLBinder1; this.next = cLBinder1; Controllable.CL_Binder cLBinder2 = cLBinder; Controllable.CL_Binder.last = cLBinder2; Controllable.CL_Binder.first = cLBinder2; } }
private void CL_OverideControlOf(uLink.NetworkViewID rootViewID, uLink.NetworkViewID parentViewID, ref uLink.NetworkMessageInfo info) { this.ClearBinder(); this._binder = new Controllable.CL_Binder(this, rootViewID, parentViewID, ref info); if (this._binder.CanLink()) { this._binder.Link(); } }