/// <summary> /// Called at each touch up event /// </summary> /// <param name="sender">Object</param> /// <param name="e">EventArgs</param> public void TouchedUp(object sender, EventArgs e) { foreach (Sprite obj in _objects) { if (obj.TouchedUp(sender, e) && !obj.AsMove && (_selectionMode == SelectionMode.MONO || _selectionMode == SelectionMode.MULTI)) { if (_selectedObjects.Contains(obj)) { _selectedObjects.Remove(obj); } else { if (_selectionMode == SelectionMode.MONO) { _selectedObjects.Clear(); } _selectedObjects.AddLast(obj); } } } TouchEventArgs args = (TouchEventArgs)e; TouchPoint touch = args.TouchPoint; MyTouchPoint p = new MyTouchPoint(touch); if (_touchPoints.Contains(p)) { _touchPoints.Remove(p); } }
/// <summary> /// Called at each touch down event /// </summary> /// <param name="sender">Object</param> /// <param name="e">EventArgs</param> public void TouchedDown(object sender, EventArgs e) { bool handled = false; foreach (Sprite obj in _objects) { handled |= obj.TouchedDown(sender, e); } if (!handled) { TouchEventArgs args = (TouchEventArgs)e; TouchPoint touch = args.TouchPoint; MyTouchPoint p = new MyTouchPoint(touch); _touchPoints.AddLast(p); } }
/// <summary> /// Called at each touch move event /// </summary> /// <param name="sender">Object</param> /// <param name="e">EventArgs</param> public void TouchedMove(object sender, EventArgs e) { foreach (Sprite obj in _objects) { obj.TouchedMove(sender, e); } TouchEventArgs args = (TouchEventArgs)e; TouchPoint touch = args.TouchPoint; MyTouchPoint p = new MyTouchPoint(touch); if (_touchPoints.Contains(p)) { _touchPoints.Remove(p); MyTouchPoint pTmp = new MyTouchPoint(touch); p.AsMove = true; _touchPoints.AddLast(pTmp); } }