private void method_0(SurfaceGraphicsCache.Class508 entityDrawablesInfo) { if (entityDrawablesInfo == null) { return; } List <SurfaceGraphicsCache.Class508> class508List; if (this.dictionary_0.TryGetValue(entityDrawablesInfo.Entity, out class508List)) { class508List.Remove(entityDrawablesInfo); if (class508List.Count == 0) { this.dictionary_0.Remove(entityDrawablesInfo.Entity); } } if (entityDrawablesInfo.Children == null) { return; } foreach (SurfaceGraphicsCache.Class508 child in entityDrawablesInfo.Children) { this.method_0(child); } }
public void method_0(SurfaceGraphicsCache.Class508 child) { if (this.list_0 == null) { this.list_0 = new List <SurfaceGraphicsCache.Class508>(); } this.list_0.Add(child); child.class508_0 = this; }
public void EndNode() { if (this.surfaceGraphicsCache_0.bool_0) { this.class508_0.FirstDrawable = this.class508_0.FirstDrawable.Next; this.class508_0.LastDrawable = this.class508_0.LastDrawable.Previous; this.stack_0.Pop(); this.class508_0 = this.stack_0.Count > 0 ? this.stack_0.Peek() : (SurfaceGraphicsCache.Class508)null; } if (this.stack_1.Count > 0) { this.linkedListNode_0 = this.stack_1.Pop(); } else { this.linkedListNode_0 = (LinkedListNode <ISurfaceDrawable>)null; } }
private void RemoveDrawables(SurfaceGraphicsCache.Class508 entityDrawablesInfo) { LinkedListNode <ISurfaceDrawable> next; if (entityDrawablesInfo.HasDrawables) { for (LinkedListNode <ISurfaceDrawable> node = entityDrawablesInfo.FirstDrawable; node != null; node = next) { next = node.Next; this.linkedList_0.Remove(node); if (node == entityDrawablesInfo.LastDrawable) { break; } } } this.method_0(entityDrawablesInfo); }
public void BeginNode(DxfEntity entity, DrawContext.Surface drawContext) { SurfaceGraphicsCache.Class509 class509 = new SurfaceGraphicsCache.Class509(entity, drawContext); if (this.surfaceGraphicsCache_0.bool_0) { SurfaceGraphicsCache.Class508 class5080 = this.class508_0; this.class508_0 = new SurfaceGraphicsCache.Class508(entity, drawContext); class5080?.method_0(this.class508_0); this.class508_0.FirstDrawable = this.linkedListNode_0; this.class508_0.LastDrawable = this.linkedListNode_0.Next; this.stack_0.Push(this.class508_0); List <SurfaceGraphicsCache.Class508> class508List; if (!this.surfaceGraphicsCache_0.dictionary_0.TryGetValue(entity, out class508List)) { class508List = new List <SurfaceGraphicsCache.Class508>(); this.surfaceGraphicsCache_0.dictionary_0.Add(entity, class508List); } class508List.Add(this.class508_0); } this.stack_1.Push(this.linkedListNode_0.List.AddAfter(this.linkedListNode_0, (ISurfaceDrawable)class509)); this.linkedListNode_0 = class509.Drawables.First; }