// Update is called once per frame void Update() { if (Input.GetMouseButton(0) && currentAttract && currentClaw) { currentAttract.transform.position = main.ScreenToWorldPoint((Vector2)Input.mousePosition); } if (Input.GetMouseButtonDown(0)) { currentClaw = null; Vector2 pos = main.ScreenToWorldPoint((Vector2)Input.mousePosition); float shortestDist = float.MaxValue; float next; foreach (Claw claw in claws) { if (!claw.stunned) { next = Vector2.Distance(pos, claw.transform.position); if (next < shortestDist) { shortestDist = next; currentClaw = claw; } } } if (currentClaw) { currentAttract = currentClaw.attractPoint; currentClaw.Click(); } } if (Input.GetMouseButtonUp(0) && !stunned) { if (currentClaw) { currentAttract = null; currentClaw.Unclick(); currentClaw = null; } } }