FR2_DeleteButton.cs 969 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEditor;
  5. using UnityEngine;
  6. using vietlabs.fr2;
  7. public class FR2_DeleteButton
  8. {
  9. public string warningMessage;
  10. public string confirmMessage;
  11. public GUIContent deleteLabel;
  12. public bool hasConfirm;
  13. public bool Draw(Action onConfirmDelete)
  14. {
  15. GUILayout.BeginHorizontal();
  16. {
  17. EditorGUILayout.HelpBox(warningMessage, MessageType.Warning);
  18. GUILayout.BeginVertical();
  19. {
  20. GUILayout.Space(2f);
  21. hasConfirm = GUILayout.Toggle(hasConfirm, confirmMessage);
  22. EditorGUI.BeginDisabledGroup(!hasConfirm);
  23. {
  24. GUI2.BackgroundColor(() =>
  25. {
  26. if (GUILayout.Button(deleteLabel, EditorStyles.miniButton))
  27. {
  28. hasConfirm = false;
  29. onConfirmDelete();
  30. GUIUtility.ExitGUI();
  31. }
  32. }, GUI2.darkRed, 0.8f);
  33. }
  34. EditorGUI.EndDisabledGroup();
  35. }
  36. GUILayout.EndVertical();
  37. }
  38. GUILayout.EndHorizontal();
  39. return false;
  40. }
  41. }