Я пытаюсь сделать простое условие:Interactable кнопки ЕДИНСТВА
Если значение у меня есть, это меньше, чем цена это стоит детали, кнопка отключена.
Если значение, которое у меня есть, больше или равно цене, которую оно стоит, кнопка включена, и я могу ее купить.
Но когда я тестирую, у меня есть некоторые проблемы.
Во-первых, если у меня меньше стоимости предмета, кнопка включена, и только когда я нажимаю на нее, она отключается.
Во-вторых, если у меня меньше стоимости предмета, и я нажимаю на него, он отключается, но если я получу достаточно, чтобы купить товар, кнопка не будет включена снова.
Как мне проверять эти переменные все время? Если у меня достаточно кнопки, она включена, если у вас ее нет.
пыльника моих сум:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class BuySkin : MonoBehaviour {
public int price;
public Button buyBee1;
void OnEnable()
{
//Register Button Events
buyBee1.onClick.AddListener (() => buySkin (buyBee1));
}
public void buySkin(Button button)
{
if (BeeCoinScore.coin >= price) {
BeeCoinScore.coin -= price;
buyBee1.interactable = false;
}
if (BeeCoinScore.coin < price) {
buyBee1.interactable = false;
}
}
void OnDisable()
{
//Un-Register Button Events
buyBee1.onClick.RemoveAllListeners();
}
}
Я думаю, что вышеупомянутый скрипт предназначен для какого-то окна покупки, поэтому вам, вероятно, не нужно обновлять этот кадр. – yes
Это не работает, когда у меня недостаточно ресурсов для покупки элемента, кнопка включена. Если у вас нет ресурсов, он должен быть отключен, пока у меня не будет достаточно ресурсов для покупки предмета. –
@AlanVieiraRezende вы пробовали просто положить его в OnEnable? – yes