Esempio n. 1
0
    // 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;
            }
        }
    }