• Hi Guest!

    We have posted a new VaM2 dev log on Patreon, starting a monthly cadence of written progress updates between Beta releases. Highlights include the new Gizmos System, Selection Carousel, and Modes System with Context-Specific Editing. Beta1.2 is 15 of 21 items complete.

    Read the full post on Patreon, or follow progress on the public Trello roadmap.

Coding question: pressing UI button, connected to a Parent atom, from code

bot1789

Active member
Joined
May 1, 2023
Messages
106
Solutions
1
Reactions
113
Hello everyone!
I want to add a On click-Listener to an UIbutton from my script using the following code:

C#:
Atom uiButtonAtom = SuperController.singleton.GetAtomByUid(uiButtonName);
Transform buttonTransform = uiButtonAtom.transform.Find("reParentObject/object/rescaleObject/Canvas/Button");
UnityEngine.UI.Button myButton_1 = buttonTransform.GetComponent<UnityEngine.UI.Button>();
myButton_1.onClick.AddListener(ClickUIButton);

This works fine if the UI button atom has no parent, but fails if another atom is declared as its parent.
I would like to ask if there is a way to do the same if the UI button has a parent atom?
 
A bit late, but instead of uiButtonAtom.transform.Find("reParentObject/... use uiButtonAtom.reParentObject.Find("...
 
A bit late, but instead of uiButtonAtom.transform.Find("reParentObject/... use uiButtonAtom.reParentObject.Find("...
It's not too late! Thank you for the tip!
It really works if I do like this:
C#:
Transform buttonTransform = uiButtonAtom.reParentObject.Find("object/rescaleObject/Canvas/Button");
 
Yeah. Parenting an atom changes the "reParentObject" transform's location in the scene hierarchy, but that doesn't matter when you use the direct reference to that transform :)
 
Back
Top Bottom