DragTrigger DoneDragging Property Delta Engine Documentation

Namespace: DeltaEngine.Commands
Assembly: DeltaEngine (in DeltaEngine.dll) Version: 1.1.1.0 (1.1.1)
Syntax

public bool DoneDragging { get; set; }

Property Value

Type: Boolean
Remarks

Tests: DeltaEngine.Input.Tests.MouseDragTriggerTests
Examples

3 unit tests call DeltaEngine.Commands.DragTrigger.DoneDragging
[Test]
public void DragMouseIsPressingSetPosition()
{
    if (!IsMockResolver)
        return; //ncrunch: no coverage 
    var mouse = (MockMouse)Resolve<Mouse>();
    var trigger = new MouseDragTrigger();
    new Command(() => { }).Add(trigger);
    mouse.SetButtonState(MouseButton.Left, State.Pressing);
    AdvanceTimeAndUpdateEntities();
    Assert.AreEqual(trigger.StartPosition, mouse.Position);
    mouse.SetNativePosition(Vector2D.One);
    AdvanceTimeAndUpdateEntities();
    Assert.AreEqual(trigger.Movement, mouse.Position);
    mouse.SetButtonState(MouseButton.Left, State.Releasing);
    AdvanceTimeAndUpdateEntities();
    Assert.IsTrue(trigger.DoneDragging);
}
[Test]
public void DragMouseHorizontally()
{
    if (!IsMockResolver)
        return; //ncrunch: no coverage 
    var mouse = (MockMouse)Resolve<Mouse>();
    var trigger = new MouseDragTrigger(MouseButton.Left, DragDirection.Horizontal);
    new Command(() => { }).Add(trigger);
    mouse.SetNativePosition(new Vector2D(0.3f, 0.5f));
    mouse.SetButtonState(MouseButton.Left, State.Pressing);
    AdvanceTimeAndUpdateEntities();
    mouse.SetNativePosition(new Vector2D(0.7f, 0.5f));
    AdvanceTimeAndUpdateEntities();
    Assert.AreEqual(trigger.Movement, mouse.Position);
    mouse.SetButtonState(MouseButton.Left, State.Releasing);
    AdvanceTimeAndUpdateEntities();
    Assert.IsTrue(trigger.DoneDragging);
}
[Test]
public void DragMouseVertically()
{
    if (!IsMockResolver)
        return; //ncrunch: no coverage 
    var mouse = (MockMouse)Resolve<Mouse>();
    var trigger = new MouseDragTrigger(MouseButton.Left, DragDirection.Vertical);
    new Command(() => {}).Add(trigger);
    mouse.SetNativePosition(new Vector2D(0.3f, ScreenSpace.Current.Top + 0.1f));
    mouse.SetButtonState(MouseButton.Left, State.Pressing);
    AdvanceTimeAndUpdateEntities();
    mouse.SetNativePosition(new Vector2D(0.3f, ScreenSpace.Current.Bottom - 0.1f));
    AdvanceTimeAndUpdateEntities();
    Assert.AreEqual(mouse.Position, trigger.Movement);
    mouse.SetButtonState(MouseButton.Left, State.Releasing);
    AdvanceTimeAndUpdateEntities();
    Assert.IsTrue(trigger.DoneDragging);
}
See Also