Merge branch 'release_1'

This commit is contained in:
minenice55 2023-09-20 19:49:47 -04:00
commit 497ad916b7
4 changed files with 362 additions and 117 deletions

File diff suppressed because it is too large Load diff

View file

@ -20,6 +20,11 @@ namespace HeavenStudio.Editor
public bool selecting = false; public bool selecting = false;
/// <summary>
/// Are we currently drag selecting?
/// </summary>
public bool ActivelySelecting = false;
private bool clickedInTimeline = false; private bool clickedInTimeline = false;
private TMPro.TMP_Text sizeText; private TMPro.TMP_Text sizeText;
@ -86,6 +91,8 @@ namespace HeavenStudio.Editor
startPosition = MousePosition(); startPosition = MousePosition();
selectionBox = new Rect(); selectionBox = new Rect();
ActivelySelecting = true;
} }
// dragging // dragging
@ -105,6 +112,8 @@ namespace HeavenStudio.Editor
endPosition = Vector2.zero; endPosition = Vector2.zero;
SelectEvents(); SelectEvents();
DrawVisual(); DrawVisual();
ActivelySelecting = false;
} }
timelineLastX = timelineContent.transform.localPosition.x; timelineLastX = timelineContent.transform.localPosition.x;

View file

@ -33,6 +33,7 @@ namespace HeavenStudio.Editor.Track
[Header("Components")] [Header("Components")]
[SerializeField] private RawImage waveform; [SerializeField] private RawImage waveform;
public Texture2D resizeCursor;
public static float SnapInterval() { return instance.snapInterval; } public static float SnapInterval() { return instance.snapInterval; }
@ -259,11 +260,11 @@ namespace HeavenStudio.Editor.Track
ZoomInBTN.onClick.AddListener(delegate ZoomInBTN.onClick.AddListener(delegate
{ {
zoomComponent.ZoomIn(1, Vector2.zero); zoomComponent.ZoomIn(0.015f * TimelineContent.localScale.x, Vector2.zero);
}); });
ZoomOutBTN.onClick.AddListener(delegate ZoomOutBTN.onClick.AddListener(delegate
{ {
zoomComponent.ZoomOut(-1, Vector2.zero); zoomComponent.ZoomOut(-0.0125f * TimelineContent.localScale.x, Vector2.zero);
}); });
ZoomResetBTN.onClick.AddListener(delegate ZoomResetBTN.onClick.AddListener(delegate
{ {
@ -307,6 +308,8 @@ namespace HeavenStudio.Editor.Track
timelineState.SetState(CurrentTimelineState.State.Selection); timelineState.SetState(CurrentTimelineState.State.Selection);
AutoBtnUpdate(); AutoBtnUpdate();
resizeCursor = Resources.Load<Texture2D>("Cursors/horizontal_resize");
} }
public void FitToSong() public void FitToSong()
@ -743,9 +746,9 @@ namespace HeavenStudio.Editor.Track
var action = EventCaller.instance.GetGameAction(game, eventName.Split(1)); var action = EventCaller.instance.GetGameAction(game, eventName.Split(1));
GameObject g = Instantiate(TimelineEventObjRef.gameObject, TimelineEventObjRef.parent); GameObject g = Instantiate(TimelineEventObjRef.gameObject, TimelineEventObjRef.parent);
g.transform.localPosition = pos; g.transform.localPosition = pos;
g.transform.GetChild(3).GetComponent<TMP_Text>().text = action.displayName;
TimelineEventObj eventObj = g.GetComponent<TimelineEventObj>(); TimelineEventObj eventObj = g.GetComponent<TimelineEventObj>();
eventObj.eventLabel.text = action.displayName;
if (eventName.Split(1) == "switchGame") if (eventName.Split(1) == "switchGame")
eventObj.Icon.sprite = Editor.GameIcon(eventName.Split(2)); eventObj.Icon.sprite = Editor.GameIcon(eventName.Split(2));

View file

@ -7,6 +7,7 @@ using Starpelly;
using DG.Tweening; using DG.Tweening;
using Jukebox; using Jukebox;
using Jukebox.Legacy; using Jukebox.Legacy;
using TMPro;
namespace HeavenStudio.Editor.Track namespace HeavenStudio.Editor.Track
{ {
@ -24,10 +25,22 @@ namespace HeavenStudio.Editor.Track
[SerializeField] private RectTransform PosPreviewRef; [SerializeField] private RectTransform PosPreviewRef;
[SerializeField] public Image Icon; [SerializeField] public Image Icon;
[SerializeField] private Image selectedImage; [SerializeField] private Image selectedImage;
[SerializeField] private RectTransform outline; [SerializeField] public TMP_Text eventLabel;
[SerializeField] private RectTransform resizeGraphic;
[SerializeField] private RectTransform resizeGraphicHolder;
[SerializeField] private RectTransform resizeGraphicLeft;
[SerializeField] private RectTransform resizeGraphicRight;
[SerializeField] private RectTransform resizeGraphicLine;
[SerializeField] private RectTransform leftDrag; [SerializeField] private RectTransform leftDrag;
[SerializeField] private RectTransform rightDrag; [SerializeField] private RectTransform rightDrag;
[SerializeField] private RectTransform outline;
[SerializeField] private RectTransform outline1;
[SerializeField] private RectTransform outline2;
[SerializeField] private RectTransform outline3;
[SerializeField] private RectTransform outline4;
// private GameObject moveTemp; // private GameObject moveTemp;
[Header("Properties")] [Header("Properties")]
@ -48,7 +61,6 @@ namespace HeavenStudio.Editor.Track
public int eventObjID; public int eventObjID;
Timeline tl; Timeline tl;
Texture2D resizeCursor;
float leftSide, rightSide; float leftSide, rightSide;
[Header("Colors")] [Header("Colors")]
@ -62,10 +74,10 @@ namespace HeavenStudio.Editor.Track
if (!resizable) if (!resizable)
{ {
Destroy(resizeGraphic.gameObject); Destroy(resizeGraphicHolder.gameObject);
} }
// what the fuck???? // what the fuck???? -- I wonder if I wrote this?
// moveTemp = new GameObject(); // moveTemp = new GameObject();
// moveTemp.transform.SetParent(this.transform.parent); // moveTemp.transform.SetParent(this.transform.parent);
@ -77,7 +89,6 @@ namespace HeavenStudio.Editor.Track
} }
tl = Timeline.instance; tl = Timeline.instance;
resizeCursor = Resources.Load<Texture2D>("Cursors/horizontal_resize");
} }
private void Update() private void Update()
@ -116,7 +127,40 @@ namespace HeavenStudio.Editor.Track
#endregion #endregion
SetColor(entity["track"]); // We need a helper function for this
// I'm aware how messy this is, but considering this is all going to be destroyed in a while and nobody
// wants to touch it, I think it's fine.
if (visible)
{
var timelineScale = 100.0f / Timeline.instance.TimelineContent.localScale.x;
Icon.rectTransform.localScale = new Vector3(timelineScale, Icon.rectTransform.localScale.y, Icon.rectTransform.localScale.z);
Icon.rectTransform.anchoredPosition = new Vector2(0.08f * timelineScale, Icon.rectTransform.anchoredPosition.y);
if (resizeGraphicHolder != null)
{
resizeGraphicHolder.offsetMin = new Vector2(0.04f * timelineScale, resizeGraphicHolder.offsetMin.y);
resizeGraphicHolder.offsetMax = new Vector2(0.04f * -timelineScale, resizeGraphicHolder.offsetMax.y);
resizeGraphicLeft.localScale = new Vector3(timelineScale, resizeGraphicLeft.localScale.y, resizeGraphicLeft.localScale.z);
resizeGraphicRight.localScale = new Vector3(-timelineScale, resizeGraphicRight.localScale.y, resizeGraphicRight.localScale.z);
resizeGraphicLine.offsetMin = new Vector2(0.132f * timelineScale, resizeGraphicLine.offsetMin.y);
resizeGraphicLine.offsetMax = new Vector2(0.132f * -timelineScale, resizeGraphicLine.offsetMax.y);
}
eventLabel.rectTransform.offsetMax = new Vector2(0.04f * -timelineScale, eventLabel.rectTransform.offsetMax.y);
eventLabel.rectTransform.localScale = new Vector3(timelineScale * 0.01f, eventLabel.rectTransform.localScale.y, eventLabel.rectTransform.localScale.z);
outline1.localScale = new Vector3(timelineScale, outline1.localScale.y, outline1.localScale.z);
outline2.localScale = new Vector3(timelineScale, outline2.localScale.y, outline2.lossyScale.z);
outline3.offsetMin = new Vector2(0.04f * timelineScale, outline3.offsetMin.y);
outline3.offsetMax = new Vector2(0.04f * -timelineScale, outline3.offsetMax.y);
outline4.offsetMin = new Vector2(0.04f * timelineScale, outline4.offsetMin.y);
outline4.offsetMax = new Vector2(0.04f * -timelineScale, outline4.offsetMax.y);
leftDrag.localScale = new Vector3(timelineScale, leftDrag.localScale.y, leftDrag.localScale.z);
rightDrag.localScale = new Vector3(timelineScale, rightDrag.localScale.y, rightDrag.localScale.z);
SetColor(entity["track"]);
}
if (selected) if (selected)
{ {
@ -247,10 +291,11 @@ namespace HeavenStudio.Editor.Track
OnRightUp(); OnRightUp();
} }
if (!BoxSelection.instance.ActivelySelecting)
if (resizing && selected || inResizeRegion && selected) if (resizing && selected || inResizeRegion && selected)
{ {
if (resizable) if (resizable)
Cursor.SetCursor(resizeCursor, new Vector2(8, 8), CursorMode.Auto); Cursor.SetCursor(tl.resizeCursor, new Vector2(14, 14), CursorMode.Auto);
} }
// should consider adding this someday // should consider adding this someday
// else if (moving && selected || mouseHovering && selected) // else if (moving && selected || mouseHovering && selected)
@ -488,7 +533,6 @@ namespace HeavenStudio.Editor.Track
c = EditorTheme.theme.properties.Layer5Col.Hex2RGB(); c = EditorTheme.theme.properties.Layer5Col.Hex2RGB();
break; break;
} }
// c = new Color(c.r, c.g, c.b, 0.85f); // c = new Color(c.r, c.g, c.b, 0.85f);
transform.GetChild(0).GetComponent<Image>().color = c; transform.GetChild(0).GetComponent<Image>().color = c;