Hi there guys
I have a class called GUITools and another called globalVariables. In my GUIToolsI generate sliders dynamically using (more or less) the following, simplified, structure:
public class GUITools : MonoBehaviour
{
List<Slider> Sliders = new List<Slider>();
void Start ()
{
Sliders.Add(new Slider("A", 1, 100, 10));
Sliders.Add(new Slider("B", 1, 1000, 100));
}
void OnGUI()
{
foreach (Slider slider in Sliders)
{
GUILayout.BeginHorizontal();
GUILayout.Label(slider.Label);
slider.Value = GUILayout.HorizontalSlider(
slider.Value,
slider.MinValue,
slider.MaxValue,
GUILayout.MinWidth(100));
GUILayout.Label(slider.Value.ToString());
GUILayout.EndHorizontal();
}
}
}
public class Slider
{
public float MaxValue { get; set; }
public float MinValue { get; set; }
public float Value { get; set; }
public string Label { get; set; }
public Slider(string label, float min, float max, float defaultVal)
{
Label = label;
MaxValue = max;
MinValue = min;
Value = defaultVal;
}
}
My question is basically, how can I use these sliders to minipulate for example a variable called xVal in my globalVariables class? In other words, where do I actually tell a dynamically created slider what the value is that it controls?
Thanks