Exemplo n.º 1
0
 public override void Dispose()
 {
     _target     = null;
     _source     = null;
     _activeRect = null;
     base.Dispose();
 }
Exemplo n.º 2
0
 public static void RemoveTarget(IDragTarget target)
 {
     if (instance.target == target)
     {
         instance.target = null;
     }
 }
Exemplo n.º 3
0
 public static void SetTarget(IDragTarget target)
 {
     if (instance.target != null)
     {
         instance.target.OnDragExit();
     }
     instance.target = target;
 }
Exemplo n.º 4
0
 internal BaseDropPanel(IDragTarget target, DragItem source)
 {
     _target = target;
     _source = source;
     //绘制停靠的区域
     _activeRect = new ActiveRectDropVisual(DragManager.NONE);
     AddChild(_activeRect);
 }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
        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();
            }
        }
Exemplo n.º 7
0
 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));
 }
Exemplo n.º 8
0
        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;
            }
        }
Exemplo n.º 9
0
 public void Dispose()
 {
     _dropPanel.Dispose();
     _dropPanel = null;
     _host      = null;
 }