Exemplo n.º 1
0
    private void Update()
    {
        // wasd/ arrow
        if (!useMouse)
        {
            // speed up
            if (Input.GetKey(KeyCode.UpArrow))
            {
                if (HeroSpeedMultiplier == 0)
                {
                    HeroSpeedMultiplier = 1;
                }
                HeroSpeedMultiplier += 1 * Time.smoothDeltaTime;
            }
            // slow down
            if (Input.GetKey(KeyCode.DownArrow))
            {
                if (HeroSpeedMultiplier > 1)
                {
                    HeroSpeedMultiplier -= 1 * Time.smoothDeltaTime;
                }
            }
        }

        // mouse control
        if (useMouse)
        {
            mousePosition      = Input.mousePosition;
            mousePosition      = Camera.main.ScreenToWorldPoint(mousePosition);
            transform.position = Vector2.Lerp(transform.position, mousePosition, mouseMoveSpeed);
        }

        // stop motion
        if (Input.GetKeyDown(KeyCode.P))
        {
            if (!heroFreeze)
            {
                HeroSpeedMultiplier = 0;
            }
            else
            {
                HeroSpeedMultiplier = 1f;
            }
            heroFreeze = !heroFreeze;
        }

        // change control
        if (Input.GetKeyDown(KeyCode.M))
        {
            if (useMouse)
            {
                useMouse = false;
                uiapi.SetHeroMovement("WASD");
            }
            else
            {
                useMouse = true;
                uiapi.SetHeroMovement("Mouse");
            }
        }
    }