1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- using UnityEditor;
- using UnityEditor.Collaboration;
- using UnityEngine;
- #if UNITY_2019_1_OR_NEWER
- using UnityEngine.UIElements;
- #else
- using UnityEngine.Experimental.UIElements;
- #endif
- namespace UnityEditor.Collaboration
- {
- internal class BuildStatusButton : Button
- {
- private readonly string iconPrefix = "Icons/Collab.Build";
- private readonly string iconSuffix = ".png";
- Label labelElement = new Label();
- Image iconElement = new Image() {name = "BuildIcon"};
- public BuildStatusButton(Action clickEvent) : base(clickEvent)
- {
- iconElement.image = EditorGUIUtility.Load(iconPrefix + iconSuffix) as Texture;
- labelElement.text = "Build Now";
- Add(iconElement);
- Add(labelElement);
- }
- public BuildStatusButton(Action clickEvent, BuildState state, int failures) : base(clickEvent)
- {
- switch (state)
- {
- case BuildState.InProgress:
- iconElement.image = EditorGUIUtility.Load(iconPrefix + iconSuffix) as Texture;
- labelElement.text = "In progress";
- break;
- case BuildState.Failed:
- iconElement.image = EditorGUIUtility.Load(iconPrefix + "Failed" + iconSuffix) as Texture;
- labelElement.text = failures + ((failures == 1) ? " failure" : " failures");
- break;
- case BuildState.Success:
- iconElement.image = EditorGUIUtility.Load(iconPrefix + "Succeeded" + iconSuffix) as Texture;
- labelElement.text = "success";
- break;
- }
- Add(iconElement);
- Add(labelElement);
- }
- }
- }
|