Unity

В Unity есть две кнопки, которые устанавливают скорость игры. Есть переменная, в которой хранится значение скорости. Нужно после отключения паузы продолжить игру с выбранной скоростью.

Чтобы продолжить игру с выбранной скоростью после снятия паузы, вам нужно будет реализовать систему, которая будет сохранять значение скорости игры, а затем устанавливать её при отключении паузы. Ниже приведен пример того, как это можно сделать.

  1. Создайте переменную, которая будет хранить значение скорости игры.
  2. Реализуйте метод SetTimeScale, который будет устанавливать значение Time.timeScale.
  3. В методе отключения паузы установите Time.timeScale в сохраненное значение скорости.

Вот пример кода:

using UnityEngine;
using UnityEngine.UI;

public class GameController : MonoBehaviour
{
    public Button btnX1; // Кнопка для скорости 1x
    public Button btnX10; // Кнопка для скорости 2x
    public GameObject panelPause; // Панель паузы

    private float timeScale = 1f; // Переменная для хранения значения скорости игры

    private void Start()
    {
        btnX1.onClick.AddListener(() => SetTimeScale(1f));
        btnX10.onClick.AddListener(() => SetTimeScale(2f));
    }

    // Метод для установки скорости игры
    private void SetTimeScale(float scale)
    {
        timeScale = scale; // Сохраняем выбранную скорость
        Time.timeScale = timeScale; // Устанавливаем скорость игры
    }

    // Метод для снятия паузы и продолжения игры
    public void ResumeGame()
    {
        panelPause.SetActive(false); // Отключите панель паузы
        Time.timeScale = timeScale; // Устанавливаем сохраненное значение скорости
    }

    // В случае необходимости, можете добавить метод для паузы
    public void PauseGame()
    {
        Time.timeScale = 0f; // Устанавливаем паузу
        panelPause.SetActive(true); // Включаем панель паузы
    }
}

В данном примере:

  • При нажатии на кнопки устанавливается значение переменной timeScale, которая будет отвечать за скорость игры.
  • Метод ResumeGame() отключает панель паузы и продолжает игру с сохраненной скоростью.
  • Метод PauseGame() ставит игру на паузу и отображает панель паузы.

Вы можете вызвать ResumeGame(), когда пользователь решит продолжить после паузы.