95 lines
3.7 KiB (Stored with Git LFS)
C#
95 lines
3.7 KiB (Stored with Git LFS)
C#
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
|
|
namespace SingularityGroup.HotReload.Editor {
|
|
public enum PopupSource {
|
|
Window,
|
|
Overlay,
|
|
}
|
|
public class HotReloadEventPopup : PopupWindowContent {
|
|
public static HotReloadEventPopup I = new HotReloadEventPopup();
|
|
private Vector2 _PopupScrollPos;
|
|
public bool open { get; private set; }
|
|
private PopupSource source;
|
|
private HotReloadRunTabState currentState;
|
|
|
|
public static void Open(PopupSource source, Vector2 pos) {
|
|
I.source = source;
|
|
PopupWindow.Show(new Rect(pos.x, pos.y, 0, 0), I);
|
|
}
|
|
|
|
public override Vector2 GetWindowSize() {
|
|
if (HotReloadRunTab.ShouldRenderConsumption(currentState)
|
|
&& (HotReloadWindowStyles.windowScreenWidth <= Constants.ConsumptionsHideWidth
|
|
|| HotReloadWindowStyles.windowScreenHeight <= Constants.ConsumptionsHideHeight
|
|
|| source == PopupSource.Overlay)
|
|
) {
|
|
return new Vector2(600, 450);
|
|
} else {
|
|
return new Vector2(500, 375);
|
|
}
|
|
}
|
|
|
|
public void Repaint() {
|
|
if (open) {
|
|
PopupWindow.GetWindow<PopupWindow>().Repaint();
|
|
}
|
|
}
|
|
|
|
public override void OnGUI(Rect rect) {
|
|
if (Event.current.type == EventType.Layout) {
|
|
currentState = HotReloadRunTabState.Current;
|
|
}
|
|
if (HotReloadWindowStyles.windowScreenWidth <= Constants.UpgradeLicenseNoteHideWidth
|
|
|| HotReloadWindowStyles.windowScreenHeight <= Constants.UpgradeLicenseNoteHideHeight
|
|
|| source == PopupSource.Overlay
|
|
) {
|
|
HotReloadRunTab.RenderUpgradeLicenseNote(currentState, HotReloadWindowStyles.UpgradeLicenseButtonOverlayStyle);
|
|
}
|
|
using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) {
|
|
using (var scope = new EditorGUILayout.ScrollViewScope(_PopupScrollPos, GUIStyle.none, GUI.skin.verticalScrollbar, GUILayout.MaxHeight(495))) {
|
|
_PopupScrollPos.x = scope.scrollPosition.x;
|
|
_PopupScrollPos.y = scope.scrollPosition.y;
|
|
|
|
if (HotReloadWindowStyles.windowScreenWidth <= Constants.ConsumptionsHideWidth
|
|
|| HotReloadWindowStyles.windowScreenHeight <= Constants.ConsumptionsHideHeight
|
|
|| source == PopupSource.Overlay
|
|
) {
|
|
HotReloadRunTab.RenderLicenseInfo(currentState);
|
|
}
|
|
|
|
HotReloadRunTab.RenderBars(currentState);
|
|
}
|
|
}
|
|
|
|
bool rateAppShown = HotReloadWindow.ShouldShowRateApp();
|
|
if ((HotReloadWindowStyles.windowScreenWidth <= Constants.RateAppHideWidth
|
|
|| HotReloadWindowStyles.windowScreenHeight <= Constants.RateAppHideHeight
|
|
|| source == PopupSource.Overlay)
|
|
&& rateAppShown
|
|
) {
|
|
HotReloadWindow.RenderRateApp();
|
|
}
|
|
|
|
if (HotReloadWindowStyles.windowScreenWidth <= Constants.EventFiltersShownHideWidth
|
|
|| source == PopupSource.Overlay
|
|
) {
|
|
using (new EditorGUILayout.HorizontalScope()) {
|
|
GUILayout.Space(21);
|
|
HotReloadTimelineHelper.RenderAlertFilters();
|
|
}
|
|
}
|
|
HotReloadState.ShowingRedDot = false;
|
|
}
|
|
|
|
public override void OnOpen() {
|
|
open = true;
|
|
}
|
|
|
|
public override void OnClose() {
|
|
_PopupScrollPos = Vector2.zero;
|
|
open = false;
|
|
}
|
|
}
|
|
} |