protected override void OnGUIInternal() { using (var h = new GUILayout.HorizontalScope()) { using (var v = new GUILayout.VerticalScope(GUILayout.MinWidth(300f))) { _miscFolds.OnGUI(); _dynamicFoldEnable = GUILayout.Toggle(_dynamicFoldEnable, "DynamicFold"); _dynamicFolds.OnGUI(); _int = GUIUtil.IntButton(_int, "IntButton"); GUIUtil.Indent(() => { GUILayout.Label("Indent"); }); using (var cs = new GUIUtil.ColorScope(Color.green)) { GUILayout.Label("ColorScope"); } } _fieldFolds.OnGUI(); _sliderFolds.OnGUI(); } }
protected override void OnGUISliderRight(Vector4 v) { var c = ToOuter(v); using (var cs = new GUIUtil.ColorScope(c)) { GUILayout.Label("■■■"); } }
static object SliderFuncColor <T, ElemType>(object v, object min, object max, ref string unparsedStr, string label = "", string[] elemLabels = null) { var vec = new AbstractVector(v); var elementNum = vec.GetElementNum(); var eLabels = elemLabels ?? defaultElemLabelsColor; Vector4 v4 = default(Vector4); Color c = new Color((float)vec[0], (float)vec[1], (float)vec[2], (float)vec[3]); Color.RGBToHSV(c, out v4.x, out v4.y, out v4.z); v4.w = c.a; using (var h0 = new GUILayout.HorizontalScope()) { if (!string.IsNullOrEmpty(label)) { GUILayout.Label(label); } using (var vertical = new GUILayout.VerticalScope()) { var strs = SplitUnparsedStr(unparsedStr, elementNum); for (var i = 0; i < 4; ++i) { using (var h1 = new GUILayout.HorizontalScope()) { var elem = Slider(v4[i], 0, 1, ref strs[i], eLabels[i]); v4[i] = elem; } } unparsedStr = JoinUnparsedStr(strs); } using (var cs = new GUIUtil.ColorScope(c)) { GUILayout.Label("■■■"); } } var col = Color.HSVToRGB(v4[0], v4[1], v4[2]); col.a = v4[3]; return(col); }