66 lines
1.6 KiB
C#
66 lines
1.6 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace Unity.PlasticSCM.Editor.UI.Progress
|
|
{
|
|
internal static class DrawProgressForViews
|
|
{
|
|
internal static void ForNotificationArea(
|
|
ProgressControlsForViews.Data data)
|
|
{
|
|
EditorGUILayout.BeginHorizontal();
|
|
|
|
EditorGUILayout.HelpBox(
|
|
data.NotificationMessage,
|
|
data.NotificationType);
|
|
|
|
EditorGUILayout.EndHorizontal();
|
|
}
|
|
|
|
internal static void ForIndeterminateProgress(
|
|
ProgressControlsForViews.Data data)
|
|
{
|
|
EditorGUILayout.BeginHorizontal();
|
|
|
|
GUILayout.Space(10);
|
|
|
|
DoProgressBar(data.ProgressPercent);
|
|
|
|
GUILayout.Space(3);
|
|
|
|
DoProgressLabel(data.ProgressMessage);
|
|
|
|
GUILayout.FlexibleSpace();
|
|
|
|
EditorGUILayout.EndHorizontal();
|
|
}
|
|
|
|
static void DoProgressBar(float progressPercent)
|
|
{
|
|
EditorGUILayout.BeginVertical();
|
|
|
|
GUILayout.FlexibleSpace();
|
|
|
|
Rect progressRect = GUILayoutUtility.GetRect(30, 10);
|
|
|
|
EditorGUI.ProgressBar(progressRect, progressPercent, string.Empty);
|
|
|
|
GUILayout.FlexibleSpace();
|
|
|
|
EditorGUILayout.EndVertical();
|
|
}
|
|
|
|
static void DoProgressLabel(string progressMessage)
|
|
{
|
|
EditorGUILayout.BeginVertical();
|
|
|
|
GUILayout.FlexibleSpace();
|
|
|
|
GUILayout.Label(progressMessage, UnityStyles.ProgressLabel);
|
|
|
|
GUILayout.FlexibleSpace();
|
|
|
|
EditorGUILayout.EndVertical();
|
|
}
|
|
}
|
|
} |