• 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.

How change text in Button on scene into script?

MaxToMax333

New member
Joined
Apr 20, 2023
Messages
16
Reactions
21
Please tell me, what am I doing wrong?
I need change text button into script. The text of the button on the scene changes, but there is no button in the settings.

C#:
const string uiButtonName = "Pink";
Atom uiButtonAtom = SuperController.singleton.GetAtomByUid(uiButtonName);
if(uiButtonAtom == null || uiButtonAtom.type != "UIButton")
{
  SuperController.LogError($"No UIButton atom found with name '{uiButtonName}'");
  return;
}
// The transform which contains the clickable button component in the UIButton atom's gameobject hierarchy
Transform buttonTransform = uiButtonAtom.transform.Find("reParentObject/object/rescaleObject/Canvas/Button");
if(buttonTransform == null)
{
  SuperController.LogError($"Could not find the button transform of UIButton '{uiButtonName}'");
  return;
}
var txt = buttonTransform.GetComponentInChildren<Text>();
txt.text = "new name";

ChangeTextButton.png
 
Last edited:
Please use code block formatting to make the code more readable :)

1716749807440.png


You might want to go to the official VAM discord's #scripting channel if you have a lot of scripting questions. There's also lots of good info there (questions and answers that have been asked before).

As to your question, the button text field is a triggerable parameter that you can find with the methods that are available for finding triggerable parameters on atoms and their storables.

C#:
var atom = ...
var storable = atom.GetStorableById("Text");
var textParam = storable.GetStringJSONParam("text");
textParam.val = "NewButtonText";

This is equivalent to calling the following trigger action

1716750100527.png
 
Back
Top Bottom