private static void OnEditorUpdate()
        {
            var controller = TypeSafeController.Instance;

            switch (controller.State)
            {
            case States.Idle:
            {
                if (_previousState != States.Idle)
                {
                    SRProgressBar.Clear();
                }

                break;
            }

            case States.ScanQueued:
            {
                SRProgressBar.Display("TypeSafe", "Scan Queued...", 0);
                break;
            }

            case States.Scanning:
            {
                var progress = (float)controller.ItemsCompleted / controller.TotalItems;

                if (controller.TotalItems == 0)
                {
                    progress = 0f;
                }

                SRProgressBar.Display("TypeSafe",
                                      string.Format("Scanning ({0}/{1})", controller.ItemsCompleted + 1, controller.TotalItems), progress);

                break;
            }

            case States.Compiling:
            {
                SRProgressBar.Display("TypeSafe", "Compiling...", 1f);
                break;
            }

            case States.Waiting:
            {
                var timeLeft = Settings.Instance.MinimumBuildTime - controller.BuildTimeElapsed;

                SRProgressBar.Display("TypeSafe", string.Format("Waiting... ({0:#0.0}s)", timeLeft),
                                      Mathf.Clamp01((float)controller.BuildTimeElapsed / Settings.Instance.MinimumBuildTime));

                break;
            }
            }

            _previousState = controller.State;
        }
 public static void FakeProgress()
 {
     SRProgressBar.Display("TypeSafe", "Scanning (60/253)", 0.2f);
 }