示例#1
0
        protected override void OnUpdate()
        {
            if (WMouse.LeftMouseClick())
            {
                GameObject obj = WMouse.GetGameObjectUnderneathMouse(Game1.instance.world, false);

                if (obj != null)
                {
                    selected = obj;
                    if (gizmo.Parent == null)
                    {
                        Game1.gizmoWorld.AddChild(gizmo);
                    }
                    gizmo.UseOnBounds(selected.transform.Bounds);
                }
            }

            if (WMouse.RightMouseClick())
            {
                selected = null;
                gizmo.Remove();
            }

            if (selected != null)
            {
                selected.transform.Size     = gizmo.GetSize();
                selected.transform.Position = gizmo.GetPosition();
                gizmo.UseOnBounds(selected.transform.Bounds);
            }
        }
示例#2
0
        public override void OnUpdate(float deltaTime)
        {
            base.OnUpdate(deltaTime);
            if (selectedId >= 0)
            {
                if (!isDragging && (mouseDownPoint - WMouse.Position).LengthSquared() >= 10f)
                {
                    isDragging = true;
                    dragging_ghost.GetFirst <TextRenderer>().text = listboxComponent[selectedId];
                    AddChild(dragging_ghost);
                }

                if (isDragging)
                {
                    dragging_ghost.transform.Position = WMouse.Position + mouseDownOffset;
                }

                if (WMouse.LeftMouseClickUp())
                {
                    if (isDragging)
                    {
                        OnItemDrop?.Invoke(this, files[selectedId]);
                        RemoveChild(dragging_ghost);
                    }
                    isDragging = false;
                    selectedId = -1;
                }
            }
        }
示例#3
0
        public override void OnUpdate(float deltaTime)
        {
            base.OnUpdate(deltaTime);
            if (dragging)
            {
                Vector2 pos = offset + WMouse.GetPosition(screenPosition);
                switch (axis)
                {
                case Axis.All:
                    dragTransform.Position = pos;
                    break;

                case Axis.X:
                    dragTransform.Position = new Vector2(pos.X, originalPosition.Y);
                    break;

                case Axis.Y:
                    dragTransform.Position = new Vector2(originalPosition.X, pos.Y);
                    break;
                }
            }
        }
 public override void OnUpdate(float deltaTime)
 {
     base.OnUpdate(deltaTime);
     mouseClickable.Update(this, transform.Bounds, WMouse.GetPosition(screenPosition));
 }
示例#5
0
 private void MouseClickable_OnMouseLeftClick(GameObject sender)
 {
     originalPosition = dragTransform.Position;
     offset           = dragTransform.Position - WMouse.GetPosition(screenPosition);
     dragging         = true;
 }
示例#6
0
 public override void OnUpdate(float deltaTime)
 {
     base.OnUpdate(deltaTime);
     transform.Position = WMouse.GetPosition(screenPosition);
 }