public override void OnInspectorGUI() { if (inspector.OnInspectorGUI()) { rq.Optimize(); } showZ = EditorGUILayout.BeginToggleGroup("Z Transform", showZ); if (showZ) { EditorGUI.indentLevel += 2; EditorGUILayoutUtil.FloatField("Z Base", ref rq.zBase); EditorGUILayoutUtil.FloatField("Z Scale", ref rq.zScale); EditorGUI.indentLevel -= 2; } EditorGUILayout.EndToggleGroup(); Dictionary <string, bool> nameSet = new Dictionary <string, bool>(); Dictionary <int, bool> rqSet = new Dictionary <int, bool>(); foreach (RenderQueueElement e in rq.row) { if (string.IsNullOrEmpty(e.name)) { continue; } if (nameSet.ContainsKey(e.name)) { EditorGUILayout.HelpBox("Duplicate " + e.name, MessageType.Error); break; } else if (rqSet.ContainsKey(e.value)) { EditorGUILayout.HelpBox("Duplicate " + e.value, MessageType.Error); break; } nameSet.Add(e.name, true); rqSet.Add(e.value, true); } }