public void Set(EBendParameterType type, string name, int id) { this.id = id; switch (type) { case EBendParameterType.FloatAngle: spriteIcon.sprite = angleSprite; break; case EBendParameterType.Float: spriteIcon.sprite = rulerSprite; break; case EBendParameterType.Integer: spriteIcon.sprite = integerSprite; break; case EBendParameterType.StringEnum: spriteIcon.sprite = enumSprite; break; default: throw new ArgumentException("UIBendParameter: Set() Invalid type."); } nameText.text = name; }
public BendParameter(EBendParameterName name, EBendParameterType type, Color color, object value, object valueObject = null, bool enabled = true) { this.name = name; this.type = type; this.color = color; this.value = value; this.valueObject = valueObject; // Make Color String m_ColorHexString = ((int)(color.r * 255)).ToString("X2") + ((int)(color.g * 255)).ToString("X2") + ((int)(color.b * 255)).ToString("X2") + ((int)(color.a * 255)).ToString("X2"); }
private void DisplayWidget(int id) { // Remove any active Highlighting m_Bend.SetHighlight(null); m_HelpWidget.GetComponentInChildren <BendHelp>().UnSelect(); // Don't reselect the same Widget if (m_ActiveParameter == id) { return; } // Disable current Widget if (m_ActiveWidget != null) { m_ActiveWidget.gameObject.SetActive(false); } m_ActiveParameter = id; BendParameter param = m_Bend.inputParameters[id]; EBendParameterType type = param.type; object[] range = BendParameter.GetRange(param.name); switch (type) { case EBendParameterType.FloatAngle: m_ActiveWidget = m_AngleWidget; m_ActiveWidget.gameObject.SetActive(true); AngleSlider ans = m_AngleWidget.GetComponentInChildren <AngleSlider>(); ans.SetRange((float)range[0], (float)range[1]); ans.value = (float)param.value; break; case EBendParameterType.Float: m_ActiveWidget = m_RulerWidget; m_ActiveWidget.gameObject.SetActive(true); MultiRulerSlider mr = m_RulerWidget.GetComponentInChildren <MultiRulerSlider>(); mr.SetRange((float)range[1]); mr.Set((float)param.value, false); break; case EBendParameterType.Integer: m_ActiveWidget = m_IntegerWidget; m_ActiveWidget.gameObject.SetActive(true); IntegerSlider ins = m_IntegerWidget.GetComponentInChildren <IntegerSlider>(); ins.SetRange((int)range[0], (int)range[1]); ins.SetName(BendParameter.GetStringValue(param.name)); ins.value = (int)param.value; break; case EBendParameterType.StringEnum: m_ActiveWidget = m_EnumWidget; m_ActiveWidget.gameObject.SetActive(true); EnumDropdown ed = m_EnumWidget.GetComponentInChildren <EnumDropdown>(); List <Dropdown.OptionData> enumList = ed.options; StringEnum se = (StringEnum)param.valueObject; int enumStart = (int)range[0]; int enumEnd = (int)range[1]; enumList.Clear(); for (int i = enumStart; i <= enumEnd; ++i) { enumList.Add(new EnumDropdown.EnumOptionData(se.ToStringValue(i), null, se.ToDescription(i))); } ed.value = (int)param.value; ed.Refresh(); break; default: throw new ArgumentException("BendInputScreen: DisplayWidget() Invalid type."); } }