public override void OnGUI() { if (MyGUI.HasToggled(_filter.IsFilterWithRotation, "Rotate")) { _filter.IsFilterWithRotation = !_filter.IsFilterWithRotation; CallOnChange(); } if (MyGUI.HasToggled(_filter.IsFilterExclusive, "Exclusive")) { _filter.IsFilterExclusive = !_filter.IsFilterExclusive; CallOnChange(); } GUILayout.Space(5); var c = _filter.ConnectionFilter; if (MyGUI.HasToggled((c & ConnectionMask.Left) == ConnectionMask.Left, "Left")) { c ^= (ConnectionMask)(1 << 0); } if (MyGUI.HasToggled((c & ConnectionMask.Top) == ConnectionMask.Top, "Top")) { c ^= (ConnectionMask)(1 << 1); } if (MyGUI.HasToggled((c & ConnectionMask.Right) == ConnectionMask.Right, "Right")) { c ^= (ConnectionMask)(1 << 2); } if (MyGUI.HasToggled((c & ConnectionMask.Bottom) == ConnectionMask.Bottom, "Bottom")) { c ^= (ConnectionMask)(1 << 3); } if (c != _filter.ConnectionFilter) { _filter.ConnectionFilter = c; CallOnChange(); } base.OnGUI(); }
public override void OnGUI() { for (int index = 0; index < _layers.Count; index++) { var layer = _layers[index]; GUILayout.BeginHorizontal(); if (MyGUI.HasToggled((_mask & 1 << index) == 1 << index, "", GUILayout.Width(16))) { if ((_mask & 1 << index) != 1 << index || _active != index) { _mask ^= (1 << index); CallOnVisibleChange(); } } var gc = new GUIContent(layer.name); var rect = GUILayoutUtility.GetRect(gc, LabelStyle); if (index == _active) { LabelStyle.normal.textColor = Color.red; } GUI.Label(rect, gc, LabelStyle); LabelStyle.normal.textColor = DefaultLabelColor; if (MyGUI.ButtonMouseDown(rect)) { if (_active != index) { _mask |= (1 << index); _active = index; CallOnActiveChangeChange(); //Close(); } } GUI.enabled = index != _layers.Count - 1; if (GUILayout.Button("D", EditorStyles.miniButtonLeft, GUILayout.Width(32))) { if (index == _active) { _active++; } else if (index + 1 == _active) { _active--; } GetValue(index, true); } GUI.enabled = index != 0; if (GUILayout.Button("U", EditorStyles.miniButtonRight, GUILayout.Width(32))) { if (index == _active) { _active--; } else if (index - 1 == _active) { _active++; } GetValue(index, false); } GUI.enabled = true; GUILayout.EndHorizontal(); } base.OnGUI(); }