private void SetValueFromInput() { if (float.TryParse(x, out float fX) && float.TryParse(y, out float fY) && float.TryParse(z, out float fZ) && float.TryParse(w, out float fW)) { object vector = null; switch (VectorSize) { case 2: vector = new Vector2(fX, fY); break; case 3: vector = new Vector3(fX, fY, fZ); break; case 4: vector = new Vector4(fX, fY, fZ, fW); break; } if (vector != null) { Value = vector; OwnerCacheObject.SetValue(); } } }
public override void DrawValue(Rect window, float width) { if (m_isBool) { var b = (bool)Value; var label = $"<color={(b ? "lime" : "red")}>{b}</color>"; if (OwnerCacheObject.CanWrite) { b = GUILayout.Toggle(b, label, new GUILayoutOption[0]); if (b != (bool)Value) { Value = b; OwnerCacheObject.SetValue(); } } else { GUILayout.Label(label, new GUILayoutOption[0]); } return; } // all other non-bool values use TextField GUIUnstrip.BeginVertical(new GUILayoutOption[0]); GUIUnstrip.BeginHorizontal(new GUILayoutOption[0]); GUILayout.Label("<color=#2df7b2><i>" + ValueType.Name + "</i></color>", new GUILayoutOption[] { GUILayout.Width(50) }); m_valueToString = GUIUnstrip.TextArea(m_valueToString, new GUILayoutOption[] { GUILayout.ExpandWidth(true) }); if (OwnerCacheObject.CanWrite) { if (GUILayout.Button("<color=#00FF00>Apply</color>", new GUILayoutOption[] { GUILayout.Width(60) })) { SetValueFromInput(); } } if (ModConfig.Instance.Bitwise_Support && m_canBitwiseOperate) { m_inBitwiseMode = GUILayout.Toggle(m_inBitwiseMode, "Bitwise?", new GUILayoutOption[0]); } GUIUnstrip.Space(10); GUILayout.EndHorizontal(); if (ModConfig.Instance.Bitwise_Support && m_inBitwiseMode) { DrawBitwise(); } GUILayout.EndVertical(); }
private void SetValueFromInput() { if (float.TryParse(x, out float fX) && float.TryParse(y, out float fY) && float.TryParse(z, out float fZ)) { Value = Quaternion.Euler(new Vector3(fX, fY, fZ)); OwnerCacheObject.SetValue(); } }
private void SetValueFromInput() { if (float.TryParse(r, out float fR) && float.TryParse(g, out float fG) && float.TryParse(b, out float fB) && float.TryParse(a, out float fA)) { Value = new Color(fR, fG, fB, fA); OwnerCacheObject.SetValue(); } }
private void SetValueFromInput() { if (float.TryParse(x, out float fX) && float.TryParse(y, out float fY) && float.TryParse(w, out float fW) && float.TryParse(h, out float fH)) { Value = new Rect(fX, fY, fW, fH); OwnerCacheObject.SetValue(); } }
private void SetValueFromBinaryInput() { try { var method = typeof(Convert).GetMethod($"To{ValueType.Name}", new Type[] { typeof(string), typeof(int) }); Value = method.Invoke(null, new object[] { m_binaryInput, 2 }); OwnerCacheObject.SetValue(); RefreshToString(); } catch (Exception e) { ExplorerCore.Log("Exception setting value: " + e.GetType() + ", " + e.Message); } }
private void DrawApplyButton() { if (OwnerCacheObject.CanWrite) { if (GUILayout.Button("<color=#00FF00>Apply</color>", new GUILayoutOption[] { GUILayout.Width(60) })) { if (m_isBool) { OwnerCacheObject.SetValue(); } else { SetValueFromInput(); } } } }
public void SetFlagsFromInput() { string val = ""; for (int i = 0; i < EnumNames.Length; i++) { if (m_enabledFlags[i]) { if (val != "") { val += ", "; } val += EnumNames[i]; } } Value = Enum.Parse(ValueType, val); OwnerCacheObject.SetValue(); }
public override void DrawValue(Rect window, float width) { if (OwnerCacheObject.CanWrite) { if (GUILayout.Button("<", new GUILayoutOption[] { GUILayout.Width(25) })) { SetEnum(-1); OwnerCacheObject.SetValue(); } if (GUILayout.Button(">", new GUILayoutOption[] { GUILayout.Width(25) })) { SetEnum(1); OwnerCacheObject.SetValue(); } } GUILayout.Label(Value.ToString() + $"<color={Syntax.StructGreen}><i> ({ValueType})</i></color>", new GUILayoutOption[0]); }
public void SetValueFromInput() { if (m_isString) { Value = m_valueToString; } else { try { Value = ParseMethod.Invoke(null, new object[] { m_valueToString }); } catch (Exception e) { ExplorerCore.Log("Exception parsing value: " + e.GetType() + ", " + e.Message); } } OwnerCacheObject.SetValue(); RefreshToString(); }