BaseWindow.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. namespace COM3D2.MeidoPhotoStudio.Plugin
  5. {
  6. internal abstract class BaseWindow : BaseWindowPane
  7. {
  8. private static int id = 765;
  9. private static int ID { get => id++; }
  10. public readonly int windowID;
  11. protected Rect windowRect;
  12. public abstract Rect WindowRect { get; set; }
  13. public BaseWindow() : base()
  14. {
  15. windowID = ID;
  16. }
  17. protected virtual void HandleZoom()
  18. {
  19. if (Input.mouseScrollDelta.y != 0f)
  20. {
  21. if (Visible && WindowRect.Contains(Event.current.mousePosition))
  22. {
  23. Input.ResetInputAxes();
  24. }
  25. }
  26. }
  27. public virtual void Update()
  28. {
  29. HandleZoom();
  30. }
  31. public virtual void Activate() { }
  32. public virtual void Deactivate() { }
  33. public virtual void GUIFunc(int id)
  34. {
  35. Draw();
  36. GUI.DragWindow();
  37. }
  38. }
  39. }