ProfilerTabController.cs 1010 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //#define SR_CONSOLE_DEBUG
  2. namespace SRDebugger.UI.Tabs
  3. {
  4. using SRF;
  5. using UnityEngine.UI;
  6. public class ProfilerTabController : SRMonoBehaviourEx
  7. {
  8. private bool _isDirty;
  9. [RequiredField] public Toggle PinToggle;
  10. protected override void Start()
  11. {
  12. base.Start();
  13. PinToggle.onValueChanged.AddListener(PinToggleValueChanged);
  14. Refresh();
  15. }
  16. private void PinToggleValueChanged(bool isOn)
  17. {
  18. SRDebug.Instance.IsProfilerDocked = isOn;
  19. }
  20. protected override void OnEnable()
  21. {
  22. base.OnEnable();
  23. _isDirty = true;
  24. }
  25. protected override void Update()
  26. {
  27. base.Update();
  28. if (_isDirty)
  29. {
  30. Refresh();
  31. }
  32. }
  33. private void Refresh()
  34. {
  35. PinToggle.isOn = SRDebug.Instance.IsProfilerDocked;
  36. _isDirty = false;
  37. }
  38. }
  39. }