| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- namespace SRDebugger.UI.Other
- {
- using Services;
- using SRF;
- using UnityEngine;
- using UnityEngine.UI;
- public class ConsoleTabQuickViewControl : SRMonoBehaviourEx
- {
- private const int Max = 1000;
- private static readonly string MaxString = (Max - 1) + "+";
- private int _prevErrorCount = -1;
- private int _prevInfoCount = -1;
- private int _prevWarningCount = -1;
- [Import] public IConsoleService ConsoleService;
- [RequiredField] public Text ErrorCountText;
- [RequiredField] public Text InfoCountText;
- [RequiredField] public Text WarningCountText;
- protected override void Awake()
- {
- base.Awake();
- ErrorCountText.text = "0";
- WarningCountText.text = "0";
- InfoCountText.text = "0";
- }
- protected override void Update()
- {
- base.Update();
- if (ConsoleService == null)
- {
- return;
- }
- if (HasChanged(ConsoleService.ErrorCount, ref _prevErrorCount, Max))
- {
- ErrorCountText.text = Internal.SRDebuggerUtil.GetNumberString(ConsoleService.ErrorCount, Max, MaxString);
- }
- if (HasChanged(ConsoleService.WarningCount, ref _prevWarningCount, Max))
- {
- WarningCountText.text = Internal.SRDebuggerUtil.GetNumberString(ConsoleService.WarningCount, Max,
- MaxString);
- }
- if (HasChanged(ConsoleService.InfoCount, ref _prevInfoCount, Max))
- {
- InfoCountText.text = Internal.SRDebuggerUtil.GetNumberString(ConsoleService.InfoCount, Max, MaxString);
- }
- }
- private static bool HasChanged(int newCount, ref int oldCount, int max)
- {
- var newCountClamped = Mathf.Clamp(newCount, 0, max);
- var oldCountClamped = Mathf.Clamp(oldCount, 0, max);
- var hasChanged = newCountClamped != oldCountClamped;
- oldCount = newCount;
- return hasChanged;
- }
- }
- }
|