HotReloadTabBase.cs 926 B

123456789101112131415161718192021222324252627282930313233
  1. 
  2. using UnityEditor;
  3. using UnityEngine;
  4. namespace SingularityGroup.HotReload.Editor {
  5. internal abstract class HotReloadTabBase : IGUIComponent {
  6. protected readonly HotReloadWindow _window;
  7. public string Title { get; }
  8. public Texture Icon { get; }
  9. public string Tooltip { get; }
  10. public HotReloadTabBase(HotReloadWindow window, string title, Texture iconImage, string tooltip) {
  11. _window = window;
  12. Title = title;
  13. Icon = iconImage;
  14. Tooltip = tooltip;
  15. }
  16. public HotReloadTabBase(HotReloadWindow window, string title, string iconName, string tooltip) :
  17. this(window, title, EditorGUIUtility.IconContent(iconName).image, tooltip) {
  18. }
  19. protected void Repaint() {
  20. _window.Repaint();
  21. }
  22. public virtual void Update() { }
  23. public abstract void OnGUI();
  24. }
  25. }