Skip to Content

Slider

GnosisUIElementSlider is a control element (elementId = "Slider") for numeric range input.

It inherits GnosisUIElementControl, so it also uses control identity fields (viewId, controlIdMode, controlId) configured on the component.

Runtime parameters

In addition to built-in element parameters, GnosisUIElementSlider supports:

  • direction (string) - one of: LeftToRight, RightToLeft, BottomToTop, TopToBottom
  • minValue (float)
  • maxValue (float)
  • wholeNumbers (bool)
  • value (float)
  • onValueChangedInvokes (list) - list of service invokes to execute on slider value changes.
    • each item shape: { service, function, parameters? }
    • runtime adds/updates value on the invoke payload before calling the function

Example - create a slider under a view

GameUI.CreateSlider.Example.cs
private GnosisFunctionResult CreateMasterVolumeSlider() { if (Context?.Store == null || Context.CallService == null) return GnosisFunctionResult.Fail("No context"); var payload = GnosisNode.CreateObject(Context.Store); payload.Set("elementId", "Slider"); payload.Set("parentId", "ui.SettingsView"); var parameters = GnosisNode.CreateObject(Context.Store); parameters.Set("name", "MasterVolumeSlider"); parameters.Set("direction", "LeftToRight"); parameters.Set("minValue", 0f); parameters.Set("maxValue", 1f); parameters.Set("wholeNumbers", false); parameters.Set("value", 0.75f); var invokes = GnosisNode.CreateList(Context.Store); var setVolume = GnosisNode.CreateObject(Context.Store); setVolume.Set("service", "Audio"); setVolume.Set("function", "SetMasterVolume"); var setVolumeArgs = GnosisNode.CreateObject(Context.Store); setVolumeArgs.Set("channel", "master"); setVolumeArgs.Set("value", 0f); // Placeholder; runtime overwrites this with live slider value. setVolume.Set("parameters", setVolumeArgs); invokes.Add(setVolume); parameters.Set("onValueChangedInvokes", invokes); payload.Set("parameters", parameters); return CallService("GameUI", "CreateElement", payload); }

Example - JSON payload shape

{ "service": "GameUI", "function": "CreateElement", "parameters": { "elementId": "Slider", "parentId": "ui.SettingsView", "parameters": { "name": "MasterVolumeSlider", "direction": "LeftToRight", "minValue": 0.0, "maxValue": 1.0, "wholeNumbers": false, "value": 0.75, "onValueChangedInvokes": [ { "service": "Audio", "function": "SetMasterVolume", "parameters": { "channel": "master", "value": 0.0 } } ] } } }

Example - inspect schema via DescribeUIElement

GameUI.DescribeSlider.Example.cs
private GnosisFunctionResult DescribeSliderElement() { if (Context?.Store == null || Context.CallService == null) return GnosisFunctionResult.Fail("No context"); var payload = GnosisNode.CreateObject(Context.Store); payload.Set("elementId", "Slider"); return CallService("GameUI", "DescribeUIElement", payload); }
Last updated on