Skip to content

Editing States from Code

Ashley Muncaster edited this page Apr 13, 2024 · 8 revisions

Here are some of the operations that you can apply to edit a state object.

Changing Theming

someState.Theme = newTheme;

Changing Header

someState.HeaderText = "New header text";
someState.HeaderBackground = "#ffffff";
someState.HeaderColor = Color.black;

Adding Components

Hackbox.UI.UIComponent myComponent = new Hackbox.UI.UIComponent(myPreset);
myComponent.Add("text", "Overidden");
someState["myComponent"] = myComponent;
someState["myComponent"] = new Hackbox.UI.UIComponent(myPreset);
someState["myComponent", "text"] = new Hackbox.Parameters.StringParameter("Overridden text");
someState.Add("myComponent", new(myPreset)
{
    { "text", "Overridden text" }
});

Removing Components

someState.Remove("myComponent");
someState.RemoveAt(2);

Changing Component Parameters

//By name
someState["myComponent"]["text"] = new Hackbox.Parameters.StringParameter("Overridden text");
someState["myComponent"]["color"] = new Hackbox.Parameters.ColorParameter(Color.black);
//By index
someState[0]["text"] = new Hackbox.Parameters.StringParameter("Overridden text");
someState[0]["color"] = new Hackbox.Parameters.ColorParameter(Color.black);
//By name
someState["myComponent", "text"] = new Hackbox.Parameters.StringParameter("Overridden text");
someState["myComponent", "text"] = new Hackbox.Parameters.ColorParameter(Color.black);
//By index
someState[0, "text"] = new Hackbox.Parameters.StringParameter("Overridden text");
someState[0, "text"] = new Hackbox.Parameters.ColorParameter(Color.black);
//By name
someState.SetComponentParameterValue("myComponent", "text", "Overridden text");
someState.SetComponentStyleParameterValue("myComponent", "color", Color.black);
//By index
someState.SetComponentParameterValue(0, "text", "Overridden text");
someState.SetComponentStyleParameterValue(0, "text", Color.black);
//By name
someState["myComponent"].SetParameterValue("text", "Overrridden text");
someState["myComponent"].SetStyleParameterValue("color", Color.black);
//By index
someState[0].SetParameterValue("text", "Overridden text");
someState[0].SetStyleParameterValue("color", Color.black);
//By name
someState["myComponent"].Add("text", "Overrridden text");
someState["myComponent"].Add("color", Color.black);
//By index
someState[0].Add("text", "Overridden text");
someState[0].Add("color", Color.black);
Clone this wiki locally