private static void ExecuteCommandOnSelectedCovers(CoverCommand command, float param, string undoName) { List <Cover> covers = CoverUtils.GrabSelectedCovers(); if (covers.Count > 0) { GUIEditorUtils.RegisterSceneUndo(undoName); foreach (Cover cover in covers) { command(cover, param); } } }
private void OnGUILine(string name, CoverCommand command, ref float floatValue, float maxValue) { GUILayout.BeginHorizontal(); { floatValue = EditorGUILayout.FloatField(name, floatValue); floatValue = Mathf.Clamp(floatValue, 0, maxValue); GUI.enabled = CoverUtils.IsGameObjectSelected(); if (GUILayout.Button("Modify selection", GUILayout.Width(m_ButtonSize)) == true) { ExecuteCommandOnSelectedCovers(command, floatValue, "CoverUtils: " + name); } GUI.enabled = true; } GUILayout.EndHorizontal(); }