public void OnEZDragDrop(EZDragDropParams parms) { if (this == null) { return; } if (this.host == null) { return; } EZDragDropEvent evt = parms.evt; if (evt == EZDragDropEvent.Begin) { if (this.host.transform == null) { return; } Transform transform = this.host.transform; if (transform == null) { return; } this.dragOrigin = transform.localPosition; this.isDragging = true; this.dropHandled = false; this.dragPlane.SetNormalAndPosition(transform.TransformDirection(transform.forward * -1f), transform.position); Ray ray = parms.ptr.camera.ScreenPointToRay(parms.ptr.camera.WorldToScreenPoint(transform.position)); float num; this.dragPlane.Raycast(ray, out num); this.dragOriginOffset = ray.origin + ray.direction * (num - this.host.DragOffset); if (transform.parent != null) { this.dragOriginOffset = transform.parent.InverseTransformPoint(this.dragOriginOffset); } this.touchCompensationOffset = new Vector3(-this.host.MouseOffset, this.host.MouseOffset, 0f); } if (this.dragDropDelegate != null) { this.dragDropDelegate(parms); } if (parms.evt == EZDragDropEvent.Dropped && parms.dragObj.Equals(this.host)) { if (this.dropHandled) { this.isDragging = false; this.dropTarget = null; } else { this.CancelDrag(); } } }
/// <summary> /// Constructs an EZDragDropParams object. /// </summary> /// <param name="e">The drag/drop event that occurred.</param> /// <param name="obj">The object being dragged.</param> /// <param name="p">The pointer involved in the drag/drop operation.</param> public EZDragDropParams(EZDragDropEvent e, IUIObject obj, POINTER_INFO p) { evt = e; dragObj = obj; ptr = p; }
public EZDragDropParams(EZDragDropEvent e, IUIObject obj, POINTER_INFO p) { this.evt = e; this.dragObj = obj; this.ptr = p; }