IEnumerator PuzzleDownMove(GameObject puzzle, float distance, float time, UnityAction afterAnimAction) { Vector3 finalPos = puzzle.transform.position; puzzle.transform.position = puzzle.transform.position + Vector3.up * distance; puzzle.SetActive(true); Vector3 originPos = puzzle.transform.position; Vector3 moveVec = finalPos - originPos; Vector3 normMoveVec = moveVec.normalized; float speed = distance / time; while (time > 0) { time -= Time.deltaTime; puzzle.transform.position = puzzle.transform.position + normMoveVec * speed * Time.deltaTime; yield return(null); } puzzle.transform.position = finalPos; // Debug.Log("finalPos:" + finalPos + " " + Camera.main.WorldToScreenPoint(finalPos)); puzzle.GetComponent <PuzzleItemUI>().PlaySettleAnim(); // sparkParticleEffect.transform.position = puzzle.transform.position; // sparkParticleEffect.Play(); DragController.VibrateFeedbackIntern(); afterAnimAction(); }
public void InitiateDrag(DragController dragController) { if (!this.enabled) { return; // no dragging with deactivated Component } this.dragController = dragController; dragged = true; if (showAndHideMouseCursor) { Cursor.visible = false; } //Debug.Log(gameObject.name + " InitiateDrag()"); Vector3 cursorScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0f); Vector3 cursorPosition = mainCamera.ScreenToWorldPoint(cursorScreenPoint); if (useRigidbody) { dragInitPosition = rb.position; rb.isKinematic = true; rb.velocity = Vector3.zero; } else { dragInitPosition = transform.position; } dragHandleOffset = dragInitPosition - cursorPosition; onDragBegin.Invoke(); }
private void Start() { DragCollider = GetComponentInChildren <CircleCollider2D>(); DragController = FindObjectOfType <DragController>(); TimeController = FindObjectOfType <TimeController>(); Dragged = false; }
private void Start() { _rb = GetComponent <Rigidbody>(); _gm = GameManager.instance; _soundManager = SoundManager.instance; _dragController = DragController.instance; SetPlayerDir(); }
// Use this for initialization void Awake() { myRB = GetComponent <Rigidbody>(); myDC = GetComponent <DragController>(); myEM = GetComponent <EnergyManager>(); myNPM = GetComponent <NetworkPlayerModule>(); myMPMeter = transform.Find("Canvas").transform.Find("Main Propulsion Meter").GetComponent <RectTransform>(); }
void Awake() { Instance = this; DragItem.Onbegindrag += DragItem_Onbegindrag; DragItem.Onenddrag += DragItem_Onenddrag; tempDragitem.Hide(); }
private void Start() { _currentTransform = gameObject.transform as RectTransform; if (!_dragController) { _dragController = UIManager.Instance.DragController; } }
protected virtual void StopDrag() { if (DragController == null) { return; } DragController.StopDrag(); this.dragController = null; this.DataGrid.ReleaseMouseCapture(); }
protected override void OnColumnsCollectionChanged(object sender, System.ComponentModel.CollectionChangeEventArgs e) { MyGridControl grid = (GridControl as MyGridControl); DragController controller = (grid != null) ? grid.GetDragController() : null; if (controller != null && controller.IsDragging) { return; } base.OnColumnsCollectionChanged(sender, e); }
public void DropRedirect(object sender, DragEventArgs e) { if (!IsFolder) { DragController.Drop(sender, e, HierarchyDragController.DropType.NORMAL); } else { DragController.Drop(sender, e, HierarchyDragController.DropType.FOLDER); } }
void OnMouseMove(object sender, MouseEventArgs e) { if (this.DragSurface == null) { return; } if (DragController != null) { DragController.Move(e.GetPosition(this.DragSurface)); } }
private void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } }
// Use this for initialization void Start() { //myPS = GetComponentInChildren<ParticleSystem>(); myRB = transform.root.GetComponent <Rigidbody>(); mySR = GetComponentInChildren <SpriteRenderer>(); offColor = new Color(1, 1, 1, 0.42f); onColor = new Color(0, 1, 1, 0.5f); myDC = transform.root.GetComponent <DragController>(); myEM = transform.root.GetComponent <EnergyManager>(); }
protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); Capture = false; PressedItem = null; if (IsDragging) { Point pp = PointToView(new Point(e.X, e.Y)); MouseEventArgs me = new MouseEventArgs(e.Button, e.Clicks, pp.X, pp.Y, e.Delta); DragController controller = typeof(GridControl).GetProperty("DragController", BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.NonPublic).GetValue(View.GridControl, null) as DragController; controller.EndDrag(e); } }
public void InitComp(/*Camera playFieldCamera,*/ GeneralPanelUI generalPanelUI, Transform puzzleMoveTrans, DragController dragController /* , CanvasScaler canvasScaler*/) { // this.playFieldCamera = playFieldCamera; this.generalPanelUI = generalPanelUI; this.puzzleMoveTrans = puzzleMoveTrans; this.dragController = dragController; // this.canvasScaler = canvasScaler; puzzleItemData = new PuzzleItemData(); screenSpaceRectTransform = GetComponent <RectTransform>(); canRorate = true; }
public CatalogProductPanel(Product product, DesignPanel dp, CatalogController cc) { InitializeComponent(); this.product = product; this.cc = cc; dc = new DragController(product, dp); // Sets productvalues. nameLabel.Text = product.name; priceLabel.Text = "Prijs: €" + product.price.ToString(); descriptionLabel.Text = product.description; widthLabel.Text = product.width.ToString() + " cm"; heightLabel.Text = product.height.ToString() + " cm"; pictureBox1.Image = product.GetImage(); }
protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e) { Point p = new Point(e.X, e.Y); Point pp = PointToView(p); MouseEventArgs me = new MouseEventArgs(e.Button, e.Clicks, pp.X, pp.Y, e.Delta); if (IsDragging) { DragController controller = typeof(GridControl).GetProperty("DragController", BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.NonPublic).GetValue(View.GridControl, null) as DragController; if (me.Button != MouseButtons.Left) { controller.CancelDrag(); } else { controller.DoDragging(me); //DoDragging(me); } return; } Size dragSize = System.Windows.Forms.SystemInformation.DragSize; if (PressedItem != null) { if ((e.Button & MouseButtons.Left) != 0) { if (Math.Abs(p.X - downPoint.X) > dragSize.Width || Math.Abs(p.Y - downPoint.Y) > dragSize.Height) { if (ViewHandler != null) { (ViewHandler as GridHandler).DownPointHitInfo = View.CalcHitInfo(p); (ViewHandler as GridHandler).DoStartDragObject(PressedItem, new Size(ClientSize.Width, 23)); if (IsDragging) { Capture = true; } else { PressedItem = null; } return; } } } } base.OnMouseMove(e); }
void IEndDragHandler.OnEndDrag(PointerEventData eventData) { Vector3 destination = DragController.GetTouchWorldPosition(eventData.pointerId); RaycastHit2D hit2D; bool success = DragController.RaycastDetect(tagObject, destination, out hit2D); if (success) { PasteObject(); } else { ReturnCandy(); } }
void HierarchyControl_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e) { if (sender is TextBlock) { var draggedItem = WPFHelper.FindParent <HierarchyControl>(sender as TextBlock); //create drag and drop item DragController.CreateDragDropWindow(draggedItem); //get rid of this hierarchy control manually HierarchyControl_Unloaded(null, null); DataObject dragData = new DataObject("control", draggedItem); DragDrop.DoDragDrop(draggedItem, dragData, DragDropEffects.All); DragController.DestroyDragDropWindow(); e.Handled = true; } ; }
protected virtual void StartDragging(AgDataGridRow row, Point point) { if (this.DataGrid == null) { return; } if (this.DragSurface == null) { return; } this.dragController = new DragControllerEx( DropContainer, new DragObject(row, DataGrid.GetDataRow(row.Handle), this.DataGrid), this.DragSurface, point, new Point(this.DataGrid.Margin.Left, this.DataGrid.Margin.Top)); DragController.StartDragShift = AgDataGrid.DefaultStartDragShift; DragController.ScrollOnDragging = null; this.DataGrid.CaptureMouse(); }
public void OnEndDrag(PointerEventData pointerEventData, PuzzleItemUI puzzleItemUI, GeneralPanelUI generalPanelUI) { if (gameOverFlag) { return; } if (puzzleItemUI.puzzleItemData.Plockstate) { return; } if (!puzzleItemUI.DraggedState) { return; } if (firstDragPointerID != pointerEventData.pointerId)//限制手指pointerId不同的不可被放置,可用于限制只能单指操作 { return; } miniMapController.RefreshFlag = true; //拖动结束后,满足一定条件时拼图可以被插进面板,否则移除生成的拼图(隐藏显示) PuzzleItemData puzzleItemData = puzzleItemUI.puzzleItemData; Debug.Log("End Drag At:" + pointerEventData.position); puzzleItemUI.cloneForMove.SetActive(false); int gridIndex = -1; int[] blankLayout = null; int interactRet = generalPanelUI.InteractWithPuzzle(puzzleItemUI.cloneForMove.GetComponent <PuzzleItemUI>(), out gridIndex, out blankLayout); puzzleItemData.PanelGridIndex = gridIndex; generalPanelUI.ShowPreCheckResult(2); //FINISH:进行操作记录,interactRet为0时,进行填充记录或位置移动记录;interactRet为3时,进行删除记录(操作历史记录的实现写于GeneralPanelUI中) if (interactRet == 0)//如果拼图在满足填充条件的位置 { //把拼图插入 generalPanelUI.InsertPuzzle(puzzleItemUI.gameObject); } else if (interactRet == 1 || interactRet == 2) //如果拼图在不满足填充条件以及不在删除区的其他位置 { if (!puzzleItemData.NotSettleFlag) //如果被开始拖的拼图已经放置了 { puzzleItemData.PanelGridIndex = puzzleItemData.LastPanelGridIndex; generalPanelUI.InsertPuzzle(puzzleItemUI.gameObject, false); } Debug.Log("not fit " + interactRet); } else if (interactRet == 3)//如果拼图在删除区 { //删除 if (!puzzleItemData.NotSettleFlag) { Debug.Log("删除拼图"); puzzleItemData.PanelGridIndex = puzzleItemData.LastPanelGridIndex; generalPanelUI.RemovePuzzle(puzzleItemUI.gameObject); } generalPanelUI.deleteParticleEffect.Play(); DragController.VibrateFeedbackIntern(); } //FINISH:deleteArea缩小为1 generalPanelUI.OnDeleteAreaFlag = false; StartCoroutine(generalPanelUI.DeleteAreaLinearScaleDown()); // generalPanelUI.deleteArea.transform.localScale = Vector3.one; puzzleItemUI.DraggedState = false; generalDragFlag = false; //TODO:deleteArea置為透明 generalPanelUI.SetDeleteAreaTransparent(true); }
public void DropRedirectSeparator(object sender, DragEventArgs e) { DragController.Drop(sender, e, HierarchyDragController.DropType.SEPARATOR); }
void Start() { gameManager = GameObject.FindWithTag("GameManager"); dragController = GetComponent <DragController>(); currentMaterial = GetComponentInChildren <MeshRenderer>().material; }
public void StopSettleAnim() { GetComponent <Animator>().enabled = false; DragController.VibrateFeedbackIntern(); generalPanelUI.CheckOver(); }
void IDragHandler.OnDrag(PointerEventData eventData) { DragController.FollowTouchOffset(transform, eventData.pointerId); }
void Start() { dragController = GetComponent <DragController>(); LoadPuzzle(0); }
private void Awake() { DC = this; }