private void DragAndDrop() { if (Input.GetMouseButton(0) && CardTarget != null) { CardTarget.transform.Translate((Input.mousePosition.x - initMouse.x) / 90, -(Input.mousePosition.y - initMouse.y) / 90, 0); initMouse = new Vector2(Input.mousePosition.x, Input.mousePosition.y); } if (Input.GetMouseButtonUp(0) && CardTarget != null) { if (SetTarget() && Target != null) { Debug.Log(Target.GetType().ToString()); Card card = model.CheckCard(TryParse(CardTarget.name)); if (rules.IsAllowed(card, Target)) { DnDAction(); EndTurn(); } } if (CardTarget != null) { CardTarget.transform.position = new Vector3(initX, initY, initZ); CardTarget = null; } } }