vertical timeline scrolling

This commit is contained in:
Braedon Lewis 2023-09-25 02:45:11 -04:00
parent bafb651796
commit 17f7b69852
11 changed files with 789 additions and 2252 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -14,8 +14,8 @@ RenderTexture:
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 1680
m_Height: 945
m_Width: 1129
m_Height: 635
m_AntiAliasing: 2
m_MipCount: -1
m_DepthStencilFormat: 92

View file

@ -14,8 +14,8 @@ RenderTexture:
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 2520
m_Height: 1417
m_Width: 1693
m_Height: 952
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 92

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,8 @@
using System;
public static class AppInfo {
public const string Version = "0.0.988";
public static readonly DateTime Date = new DateTime(2023, 09, 25, 02, 33, 05, 270, DateTimeKind.Utc);
public const string Version = "0.0.989";
public static readonly DateTime Date = new DateTime(2023, 09, 25, 06, 36, 21, 213, DateTimeKind.Utc);
}

View file

@ -53,7 +53,8 @@ namespace HeavenStudio.Editor.Track
var x = Mathp.Round2Nearest(contentPosX, Timeline.instance.PixelsPerBeat);
var pos = new Vector3(x, transform.localPosition.y, transform.localPosition.z);
transform.localPosition = pos;
GetComponent<RectTransform>().anchoredPosition = new Vector3(rectTransform.anchoredPosition.x, rectTransform.anchoredPosition.y, 0);
rectTransform.anchoredPosition = new Vector3(rectTransform.anchoredPosition.x, rectTransform.anchoredPosition.y, 0);
rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, transform.parent.parent.parent.GetComponent<RectTransform>().rect.height);
UpdateCount();
}

View file

@ -36,7 +36,7 @@ namespace HeavenStudio.Editor.Track
[Header("Components")]
[SerializeField] private RawImage waveform;
[SerializeField] private RawImage layerBG;
[SerializeField] private Image layerBG;
public Texture2D resizeCursor;
public float WidthPerBeat { get; private set; } = 100.0f;
@ -139,6 +139,12 @@ namespace HeavenStudio.Editor.Track
}
}
[Header("Panels")]
[SerializeField] private RectTransform TopPanel;
[SerializeField] private RectTransform TopPanelContent;
[SerializeField] private RectTransform ContentPanel;
[SerializeField] private RectTransform OverlayPanel, OverlayPanelContent;
[Header("Timeline Components")]
[SerializeField] private RectTransform TimelineSlider;
[SerializeField] private RectTransform TimelineGridSelect;
@ -230,7 +236,7 @@ namespace HeavenStudio.Editor.Track
for (var i = 0; i < LayerCount; i++)
{
var bg = Instantiate(layerBG.gameObject, layerBG.rectTransform.parent).GetComponent<RawImage>();
var bg = Instantiate(layerBG.gameObject, layerBG.rectTransform.parent).GetComponent<Image>();
if (i % 2 == 0) bg.enabled = false;
}
layerBG.gameObject.SetActive(false);
@ -516,10 +522,37 @@ namespace HeavenStudio.Editor.Track
LayersRect.GetWorldCorners(LayerCorners);
for (var i = 0; i < LayersRect.childCount; i++)
{
var layerRect = LayersRect.GetChild(i).GetComponent<RectTransform>();
layerRect.anchoredPosition = new Vector2(layerRect.anchoredPosition.x, -LayerHeight() * (i - 1));
layerRect.sizeDelta = new Vector2(layerRect.sizeDelta.x, LayerHeight());
}
for (var i = 0; i < layerBG.rectTransform.parent.childCount; i++)
{
var layerRect = layerBG.rectTransform.parent.GetChild(i).GetComponent<RectTransform>();
layerRect.anchoredPosition = new Vector2(layerRect.anchoredPosition.x, -LayerHeight() * (i - 1));
layerRect.sizeDelta = new Vector2(layerRect.sizeDelta.x, LayerHeight());
}
TimelineContent.sizeDelta = new Vector2(TimelineContent.sizeDelta.x, LayerHeight() * LayerCount);
TimelineBlockManager.Instance.UpdateMarkers();
BoxSelection.instance.LayerSelectUpdate();
}
public void LateUpdate()
{
TopPanelContent.anchoredPosition = new Vector2(TimelineContent.anchoredPosition.x, TopPanelContent.anchoredPosition.y);
TopPanelContent.sizeDelta = new Vector2(TimelineContent.sizeDelta.x, TopPanelContent.sizeDelta.y);
OverlayPanelContent.anchoredPosition = new Vector2(TimelineContent.anchoredPosition.x, OverlayPanelContent.anchoredPosition.y);
OverlayPanelContent.sizeDelta = new Vector2(TimelineContent.sizeDelta.x, OverlayPanelContent.sizeDelta.y);
LayersRect.anchoredPosition = new Vector2(LayersRect.anchoredPosition.x, TimelineContent.anchoredPosition.y);
}
public static float GetScaleModifier()
{
Camera cam = Editor.instance.EditorCamera;
@ -1007,7 +1040,9 @@ namespace HeavenStudio.Editor.Track
public float LayerHeight()
{
return LayersRect.rect.height / LayerCount;
var defaultHeight = 32;
return Mathf.Max(defaultHeight, (LayersRect.rect.height / LayerCount));
// return LayersRect.rect.height / LayerCount;
}
public float LayerToY(int layer)

File diff suppressed because one or more lines are too long

View file

@ -134,7 +134,7 @@ PlayerSettings:
16:10: 1
16:9: 1
Others: 1
bundleVersion: 0.0.988
bundleVersion: 0.0.989
preloadedAssets:
- {fileID: 102900000, guid: 5348c08b82446e0478cee8bda6c02cfc, type: 3}
metroInputSource: 0
@ -158,11 +158,11 @@ PlayerSettings:
applicationIdentifier:
Standalone: com.RHeavenStudio.Heaven-Studio
buildNumber:
Standalone: 988
Standalone: 989
iPhone: 0
tvOS: 0
overrideDefaultApplicationIdentifier: 0
AndroidBundleVersionCode: 988
AndroidBundleVersionCode: 989
AndroidMinSdkVersion: 22
AndroidTargetSdkVersion: 0
AndroidPreferredInstallLocation: 1