Ale jesli nie bede mial odpowiedniej ilosci coinsow i klikne guzik to nagle Wszystko wariuje i nawet jesli potem zdobede okreslona ilosc coinsow to buttona nie moge juz kliknac
dzieje się tak, dlatego że masz "włącznie i wyłącznie" interakcji z przyciskiem w samym przycisku, w momencie kliknięcia przycisku gdy niespełniony jest warunek
if(coins >= BoostPrize1)
przycisk się "blokuje"
myPurchaseBoost1.interactable = false;
w ten sposób nie można już w niego kliknąć co powoduje, że kod się nie może wykonać. Dla testu spróbuj tak
public void Boost1Clicked() // Skrypt do Pierwszego Boosta +1
{
if(coins >= BoostPrize1)
{
coins = coins - BoostPrize1;
coinUI.text = coins.ToString();
boost += 1;
BoostPrize1 = BoostPrize1 + 30;
}
}
"wadą" tego rozwiązania jest to, że przycisk jest "klikalny" niezależnie od posiadanych coin-sów.
Można np. zapisać osobną funkcję, która by sprawdzała, czy buton może być
myPurchaseBoost1.interactable = true;
lub
myPurchaseBoost1.interactable = false;
coś w stylu
public void ToggleButtons()
{
if (coins >= BoostPrize1)
myPurchaseBoost1.interactable = true;
else
myPurchaseBoost1.interactable = false;
...
}
public void Boost1Clicked() // Skrypt do Pierwszego Boosta +1
{
coins -= BoostPrize1;
coinUI.text = coins.ToString();
boost += 1;
BoostPrize1 += 30;
ToggleButtons();
}
public void GenerateCoinsClicked()
{
...
ToggleButtons();
}
P.S.
Z góry powiem że jestem początkujący i nie wiem jeszcze za wiele
Beginner Scripting
Learn about programming for game development, from the very beginning with these easy to follow video tutorials.