public void OpenFloating(WindowOpenMethod openMethod) { EnsureDockSystemContainerNotNull(); method_8(); if (DockSituation == DockSituation.Floating) return; Rectangle rectangle_ = method_11(); Remove(); ControlLayoutSystem controlLayoutSystem = LayoutUtilities.smethod_4(Manager, DockSituation.Floating, MetaData.FloatingState); if (controlLayoutSystem != null) { controlLayoutSystem.Controls.Insert(Math.Min(MetaData.FloatingState.Int32_1, controlLayoutSystem.Controls.Count), this); if (openMethod != WindowOpenMethod.OnScreen) { method_12(openMethod == WindowOpenMethod.OnScreenActivate); } return; } FloatingContainer @class = Manager.FindFloatingDockContainer(MetaData.LastFloatingWindowGuid); if (@class != null) { Struct0 @struct = LayoutUtilities.smethod_15(@class, MetaData.FloatingState.Int32_0); controlLayoutSystem = @struct.SplitLayout.DockContainer.CreateNewLayoutSystem(this, MetaData.FloatingState.Size); if (MetaData.FloatingState.Guid == Guid.Empty) { MetaData.FloatingState.Guid = Guid.NewGuid(); } controlLayoutSystem.Guid = MetaData.FloatingState.Guid; @struct.SplitLayout.LayoutSystems.Insert(@struct.Index, controlLayoutSystem); return; } if (MetaData.LastFloatingWindowGuid == Guid.Empty) { MetaData.SaveFloatingWindowGuid(Guid.NewGuid()); } @class = new FloatingContainer(Manager, MetaData.LastFloatingWindowGuid); controlLayoutSystem = @class.CreateNewLayoutSystem(this, MetaData.FloatingState.Size); if (MetaData.FloatingState.Guid == Guid.Empty) { MetaData.FloatingState.Guid = Guid.NewGuid(); } controlLayoutSystem.Guid = MetaData.FloatingState.Guid; @class.LayoutSystem.LayoutSystems.Add(controlLayoutSystem); @class.method_19(rectangle_, true, openMethod == WindowOpenMethod.OnScreenActivate); }