InvokeEventFromInspector.cs 794 B

12345678910111213141516171819202122232425262728293031
  1. using UnityEngine;
  2. using UnityEngine.Events;
  3. #if UNITY_EDITOR
  4. using UnityEditor;
  5. using Cinemachine.Editor;
  6. #endif
  7. namespace Cinemachine.Examples
  8. {
  9. public class InvokeEventFromInspector : MonoBehaviour
  10. {
  11. public UnityEvent Event = new UnityEvent();
  12. public void Invoke() { Event.Invoke(); }
  13. }
  14. #if UNITY_EDITOR
  15. [CustomEditor(typeof(InvokeEventFromInspector))]
  16. public class GenerateEventEditor : BaseEditor<InvokeEventFromInspector>
  17. {
  18. public override void OnInspectorGUI()
  19. {
  20. BeginInspector();
  21. Rect rect = EditorGUILayout.GetControlRect(true);
  22. if (GUI.Button(rect, "Invoke", "Button"))
  23. Target.Invoke();
  24. DrawRemainingPropertiesInInspector();
  25. }
  26. }
  27. #endif
  28. }