public override void Dispose() { _target = null; _source = null; _activeRect = null; base.Dispose(); }
public static void RemoveTarget(IDragTarget target) { if (instance.target == target) { instance.target = null; } }
public static void SetTarget(IDragTarget target) { if (instance.target != null) { instance.target.OnDragExit(); } instance.target = target; }
internal BaseDropPanel(IDragTarget target, DragItem source) { _target = target; _source = source; //绘制停靠的区域 _activeRect = new ActiveRectDropVisual(DragManager.NONE); AddChild(_activeRect); }
internal RootDropPanel(IDragTarget target, DragItem source) : base(target, source) { //绘制左边的拖放区域 AddChild(new UnitDropVisual(DragManager.LEFT)); //绘制顶部的拖放区域 AddChild(new UnitDropVisual(DragManager.TOP)); //绘制右边的拖放区域 AddChild(new UnitDropVisual(DragManager.RIGHT)); //绘制底部的拖放区域 AddChild(new UnitDropVisual(DragManager.BOTTOM)); }
void StartDrag(Vector2 elementPos) { uiDragTarget = uiManager.UnderPointUi(elementPos).FindComponentInParents <IDragTarget>(); if (uiDragTarget != null) { DragingGameObject = uiDragTarget.DragGameObject; } if (DragingGameObject != null) { DragingImage.texture = DragingGameObject.GetComponent <SpriteRenderer>().sprite.texture; //DragingImage.color = new Color(255f, 255f, 255f, ImageAlpha); DragingImage.rectTransform.sizeDelta = DragingGameObject.GetComponent <SpriteRenderer>() .sprite.texture.FitSize(new Vector2(DragingImageSize.x, DragingImageSize.y)); DragingImage.gameObject.SetActive(true); DragingImage.gameObject.transform.SetAsLastSibling(); } }
internal DropPanel(IDragTarget target, DragItem source) : base(target, source) { //绘制拖放区域的玻璃外观 AddChild(new GlassDropVisual(DragManager.NONE)); //绘制中心的拖放区域 AddChild(new UnitDropVisual(DragManager.CENTER)); //绘制左边的拖放区域 AddChild(new UnitDropVisual(DragManager.LEFT)); //绘制顶部的拖放区域 AddChild(new UnitDropVisual(DragManager.TOP)); //绘制右边的拖放区域 AddChild(new UnitDropVisual(DragManager.RIGHT)); //绘制底部的拖放区域 AddChild(new UnitDropVisual(DragManager.BOTTOM)); //绘制左分割的拖放区域 AddChild(new UnitDropVisual(DragManager.LEFT | DragManager.SPLIT)); //绘制上分割的拖放区域 AddChild(new UnitDropVisual(DragManager.TOP | DragManager.SPLIT)); //绘制右分割的拖放区域 AddChild(new UnitDropVisual(DragManager.RIGHT | DragManager.SPLIT)); //绘制下分割的拖放区域 AddChild(new UnitDropVisual(DragManager.BOTTOM | DragManager.SPLIT)); }
public DropWindow(IDragTarget host) { AllowsTransparency = true; _host = host; if (host.Mode == DragMode.RootPanel) { _dropPanel = new RootDropPanel(host, host.DockManager.DragManager.DragItem); } else { _dropPanel = new DropPanel(host, host.DockManager.DragManager.DragItem); } _dropPanel.SizeChanged += OnSizeChanged; Child = _dropPanel; if (host.Mode != DragMode.RootPanel) { if (host.Mode == DragMode.Document && host.DockManager.DragManager.DragItem.DragMode == DragMode.Anchor) { MinWidth = Constants.DropUnitLength * 5; MinHeight = Constants.DropUnitLength * 5; } else { MinWidth = Constants.DropUnitLength * 3; MinHeight = Constants.DropUnitLength * 3; } } else { MinWidth = 0; MinHeight = 0; } }
public void Dispose() { _dropPanel.Dispose(); _dropPanel = null; _host = null; }