private void DrawRefreshStatus()
{
bool compiling = EditorApplication.isCompiling;
bool assembliesLocked = !EditorApplication.CanReloadAssemblies();
if (compiling || showProgress)
{
if (assembliesLocked)
{
GUILayout.Button(Styles.assemblyLock, Styles.statusIcon);
}
else
{
int frame = (int)Mathf.Repeat(Time.realtimeSinceStartup * 10, 11.99f);
GUILayout.Button(Styles.statusWheel[frame], Styles.statusIcon);
}
}
else
{
if (GUILayout.Button(Styles.progressIcon, Styles.statusIcon))
{
Progress.ShowDetails();
}
var buttonRect = GUILayoutUtility.GetLastRect();
EditorGUIUtility.AddCursorRect(buttonRect, MouseCursor.Link);
}
GUILayout.Space(Styles.spacing);
if (Unsupported.IsBleedingEdgeBuild())
{
var backup = GUI.color;
GUI.color = Color.yellow;
GUILayout.Label("THIS IS AN UNTESTED BLEEDINGEDGE UNITY BUILD");
GUI.color = backup;
}
else if (Unsupported.IsDeveloperMode())
{
GUILayout.Label(m_MiniMemoryOverview, Styles.statusLabel);
EditorGUIUtility.CleanCache(m_MiniMemoryOverview);
}
}