Exemplo n.º 1
0
 // Token: 0x060015C0 RID: 5568 RVA: 0x00082DB4 File Offset: 0x000811B4
 public Sleek2WindowDock(Sleek2WindowPartition partition)
 {
     this.partition = partition;
     base.name      = "Window_Dock";
     this.windows   = new List <Sleek2Window>();
     this.dock      = new Sleek2WindowTabDock();
     this.dock.destination.tabDocked += this.handleTabDocked;
     this.dock.destination.dock       = this;
     this.addElement(this.dock);
     this.panel                     = new Sleek2Element();
     this.panel.name                = "Panel";
     this.panel.transform.pivot     = Vector2.zero;
     this.panel.transform.anchorMin = Vector2.zero;
     this.panel.transform.anchorMax = Vector2.one;
     this.panel.transform.offsetMin = Vector2.zero;
     this.panel.transform.offsetMax = new Vector2(0f, -this.dock.transform.sizeDelta.y);
     this.addElement(this.panel);
     this.dockVisualization = new Sleek2DockVisualizer();
     this.dockVisualization.transform.pivot           = Vector2.zero;
     this.dockVisualization.transform.anchorMin       = Vector2.zero;
     this.dockVisualization.transform.anchorMax       = Vector2.one;
     this.dockVisualization.transform.offsetMin       = Vector2.zero;
     this.dockVisualization.transform.offsetMax       = new Vector2(0f, -this.dock.transform.sizeDelta.y);
     this.dockVisualization.destination.windowDocked += this.handleWindowDocked;
     this.dockVisualization.destination.dock          = this;
     this.addElement(this.dockVisualization);
 }
        // Token: 0x060015ED RID: 5613 RVA: 0x00083838 File Offset: 0x00081C38
        public void split(ESleek2PartitionDirection direction, out Sleek2WindowPartition originalPartition, out Sleek2WindowPartition newPartition)
        {
            originalPartition = null;
            newPartition      = null;
            this.separator    = new Sleek2Separator();
            this.addElement(this.separator);
            this.separator.handle.value = 0.5f;
            switch (direction)
            {
            case ESleek2PartitionDirection.UP:
                this.a                   = new Sleek2WindowPartition(this.dock);
                this.b                   = new Sleek2WindowPartition();
                originalPartition        = this.a;
                newPartition             = this.b;
                this.separator.direction = Separator.EDirection.VERTICAL;
                break;

            case ESleek2PartitionDirection.RIGHT:
                this.a                   = new Sleek2WindowPartition(this.dock);
                this.b                   = new Sleek2WindowPartition();
                originalPartition        = this.a;
                newPartition             = this.b;
                this.separator.direction = Separator.EDirection.HORIZONTAL;
                break;

            case ESleek2PartitionDirection.DOWN:
                this.a                   = new Sleek2WindowPartition();
                this.b                   = new Sleek2WindowPartition(this.dock);
                newPartition             = this.a;
                originalPartition        = this.b;
                this.separator.direction = Separator.EDirection.VERTICAL;
                break;

            case ESleek2PartitionDirection.LEFT:
                this.a                   = new Sleek2WindowPartition();
                this.b                   = new Sleek2WindowPartition(this.dock);
                newPartition             = this.a;
                originalPartition        = this.b;
                this.separator.direction = Separator.EDirection.HORIZONTAL;
                break;
            }
            this.addElement(this.a);
            this.addElement(this.b);
            this.a.emptied                += this.handlePartitionEmptied;
            this.b.emptied                += this.handlePartitionEmptied;
            this.separator.handle.a        = this.a.transform;
            this.separator.handle.b        = this.b.transform;
            this.separator.handle.aActive  = true;
            this.separator.handle.bActive  = true;
            this.dock.dockedWindowRemoved -= this.handleDockedWindowRemoved;
            this.dock = null;
        }
        // Token: 0x060015EE RID: 5614 RVA: 0x00083A48 File Offset: 0x00081E48
        protected virtual void handlePartitionEmptied(Sleek2WindowPartition partition)
        {
            Sleek2WindowPartition sleek2WindowPartition;

            if (partition == this.a)
            {
                sleek2WindowPartition = this.b;
            }
            else
            {
                sleek2WindowPartition = this.a;
            }
            this.dock = sleek2WindowPartition.dock;
            if (this.dock != null)
            {
                this.dock.partition            = this;
                this.dock.transform.anchorMin  = Vector2.zero;
                this.dock.transform.anchorMax  = Vector2.one;
                this.dock.transform.offsetMin  = Vector2.zero;
                this.dock.transform.offsetMax  = Vector2.zero;
                this.dock.dockedWindowRemoved += this.handleDockedWindowRemoved;
                this.addElement(this.dock);
                this.a.emptied -= this.handlePartitionEmptied;
                this.b.emptied -= this.handlePartitionEmptied;
                this.a.destroy();
                this.b.destroy();
                this.separator.destroy();
            }
            else
            {
                this.a.emptied -= this.handlePartitionEmptied;
                this.b.emptied -= this.handlePartitionEmptied;
                partition.destroy();
                this.separator.destroy();
                this.a = sleek2WindowPartition.a;
                this.b = sleek2WindowPartition.b;
                this.addElement(this.a);
                this.addElement(this.b);
                this.a.emptied -= sleek2WindowPartition.handlePartitionEmptied;
                this.b.emptied -= sleek2WindowPartition.handlePartitionEmptied;
                this.a.emptied += this.handlePartitionEmptied;
                this.b.emptied += this.handlePartitionEmptied;
                this.separator  = sleek2WindowPartition.separator;
                this.addElement(this.separator);
                sleek2WindowPartition.separator = null;
                sleek2WindowPartition.a         = null;
                sleek2WindowPartition.b         = null;
                sleek2WindowPartition.destroy();
            }
        }
 // Token: 0x0600150B RID: 5387 RVA: 0x000818CE File Offset: 0x0007FCCE
 protected virtual void handleEmptied(Sleek2WindowPartition partition)
 {
     DevkitWindowManager.removeContainer(this);
 }