- Home /
Is there an event other than OnValueChanged for Toggle UI?
Hey there!
I'm trying to figure out a way to have a toggle button on the UI, for an RTS style game. This is how it's working right now:
I click the toggle, The On Value Changed, is linked to a button with the alpha all the way down, so it brings the alpha up so I can see the button.
I need to be able to make the button alpha to go back down when the toggle is back to off.
Here's the script the toggle is linked to in the event.
public void ShowAllFadedEnginesOnceToggled()
{
Image button1 = GameObject.Find("EngineSlot1").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
Image button2 = GameObject.Find("EngineSlot2").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
Image button3 = GameObject.Find("EngineSlot3").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
Image button4 = GameObject.Find("EngineSlot4").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
Image button5 = GameObject.Find("EngineSlot5").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
button1.color = (EngineToggledOn);
button2.color = (EngineToggledOn);
button3.color = (EngineToggledOn);
button4.color = (EngineToggledOn);
button5.color = (EngineToggledOn);
}
I have another function that changes the button.color back to original but not sure how to run it on toggle off? is it possible to do that using the event thingy that comes with the toggle?
Thanks!!
Ok figured a way to do it with this:
public void ShowAllFadedEnginesOnceToggled(Toggle toggle)
{
Image button1 = GameObject.Find("EngineSlot1").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
Image button2 = GameObject.Find("EngineSlot2").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
Image button3 = GameObject.Find("EngineSlot3").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
Image button4 = GameObject.Find("EngineSlot4").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
Image button5 = GameObject.Find("EngineSlot5").transform.GetChild(0).transform.GetChild(0).transform.GetComponent<Image>();
if (toggle.isOn)
{
button1.color = (EngineToggledOn);
button2.color = (EngineToggledOn);
button3.color = (EngineToggledOn);
button4.color = (EngineToggledOn);
button5.color = (EngineToggledOn);
}
else if (toggle.isOn == false)
{
button1.color = (EngineToggledOff);
button2.color = (EngineToggledOff);
button3.color = (EngineToggledOff);
button4.color = (EngineToggledOff);
button5.color = (EngineToggledOff);
}
}
I'm just getting used to using parameters/arguments now lol.
Your answer
Follow this Question
Related Questions
Toggle Event passing bool [4.6+] 2 Answers
How to have a callback when a toggle is clicked in a toggle group? 3 Answers
Is there a way to know when mouse is 'hovering' over a Toggle? 2 Answers
Toggle's 'On Value Changed' checkbox is shown for bool parameter function 0 Answers
UI toggle.onValueChanged assigning method via script 1 Answer