Сохранение позиции после поворота

Есть код, который по движению джойстика(при условии, что playerScr.controlType == Tank_controller.ControlType.Android) поворачивает объект. После того как отпускаю джойстик, объект принимает исходное положение. Нужно как нибудь сохранить позицию после поворота.

public void FixedUpdate()
{
    if (playerScr.controlType == Tank_controller.ControlType.PC)
    {
        Vector3 difference = cam.ScreenToWorldPoint(Input.mousePosition) - transform.position;
        float rotZ = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg - 90f;
        transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
    }
    else if (playerScr.controlType == Tank_controller.ControlType.Android)
    {
        float rotZ = Mathf.Atan2(JoystickMove.Vertical, JoystickMove.Horizontal) * Mathf.Rad2Deg - 90f;
        transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
    }

}

Ответы (1 шт):

Автор решения: 4nk3r

Решение всё-таки нашёл. Нужно дополнить условие else if таким образом

else if (playerScr.controlType == Tank_controller.ControlType.Android && Mathf.Abs(joystickShoot.Horizontal) > 0.3f || Mathf.Abs(joystickShoot.Vertical) > 0.3f)
{
    float rotZ = Mathf.Atan2(JoystickMove.Vertical, JoystickMove.Horizontal) * Mathf.Rad2Deg - 90f;
    transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
}
→ Ссылка