Unity

Unity. Есть кнопки х1, х2, х3, х5, х7 и х10. Если одна из них нажата, то остальные заблокированы от нажатия.

В Unity вы можете реализовать функциональность, при которой только одна из нескольких кнопок может быть активной в любое время. Для этого вам понадобится управлять состояниями кнопок при нажатии одной из них. Вот простой пример того, как это можно сделать с использованием UI-кнопок.

  1. Создайте UI-кнопки для каждого множителя (x1, x2, x3, x5, x7, x10) в вашем интерфейсе Unity.
  2. Создайте новый скрипт, назовите его, например, MultiplierManager.
  3. В этом скрипте создайте ссылки на ваши кнопки и реализацию логики их блокировки/разблокировки.

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

using UnityEngine;
using UnityEngine.UI;

public class MultiplierManager : MonoBehaviour
{
    public Button[] multiplierButtons; // Массив кнопок множителей

    // Метод для обработки нажатия на кнопку
    public void OnMultiplierButtonClicked(int index)
    {
        // Отключаем все кнопки
        foreach (Button button in multiplierButtons)
        {
            button.interactable = true; // Сначала разблокируем все
        }

        // Блокируем все кнопки, кроме нажатой
        for (int i = 0; i < multiplierButtons.Length; i++)
        {
            if (i != index)
            {
                multiplierButtons[i].interactable = false; // Блокируем другие кнопки
            }
        }

        // Здесь можно добавить код для обработки выбранного множителя
        Debug.Log("Выбран множитель: " + multiplierButtons[index].GetComponentInChildren<Text>().text);
    }
}
  1. Теперь привяжите этот скрипт к любому GameObject на сцене, а затем в инспекторе добавьте ваши кнопки в массив multiplierButtons.
  2. Для каждой кнопки выполните следующее действие:
  • Добавьте к кнопке компонент Button.
  • В вкладке OnClick() добавьте функцию OnMultiplierButtonClicked, выберите объект, на который прикреплен скрипт MultiplierManager, и укажите индекс соответствующей кнопки (например, для первой кнопки это будет 0, для второй – 1 и так далее).

Теперь, когда пользователь нажимает на одну из кнопок, все остальные кнопки будут блокироваться, а нажатая кнопка останется активной.