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); } }
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; } } }
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)); }
private void MouseClickable_OnMouseLeftClick(GameObject sender) { originalPosition = dragTransform.Position; offset = dragTransform.Position - WMouse.GetPosition(screenPosition); dragging = true; }
public override void OnUpdate(float deltaTime) { base.OnUpdate(deltaTime); transform.Position = WMouse.GetPosition(screenPosition); }