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"); } } }