ProfilerTabController.cs 891 B

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