注意:更改了trackpercentpoint的逻辑

Signed-off-by: TRAfoer <lhf190@outlook.com>
This commit is contained in:
2025-08-31 15:27:02 +08:00
parent 84ff356427
commit 27b3cf58d0
40 changed files with 288899 additions and 18281 deletions

View File

@@ -2,6 +2,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Diagnostics.Eventing.Reader;
using System.Linq;
using DG.Tweening;
using Ichni;
using Ichni.Editor;
using Ichni.RhythmGame;
@@ -78,7 +79,10 @@ public partial class GraphicalFlexibleFloatWindow : MovableWindow
{
ApplyParameters();
//StartCoroutine(WindowAnim.HidePanel(gameObject, true));
Destroy(gameObject);
this.transform.DOScale(Vector3.zero, 0.15f).SetEase(Ease.InCirc).OnComplete(() =>
{
Destroy(gameObject);
});
}
public float scalevalue;
public void CurveScale(string Rawvalue)
@@ -203,9 +207,12 @@ public partial class GraphicalFlexibleFloatWindow
RemoveConnectedPoint();
}
if (Keyboard.current.shiftKey.isPressed && Keyboard.current.vKey.wasPressedThisFrame)
if (Keyboard.current.shiftKey.isPressed)
{
PasteClipboard();
if (Keyboard.current.vKey.wasPressedThisFrame)
PasteClipboard(1f);
else if (Keyboard.current.bKey.wasPressedThisFrame)
PasteClipboard(-1f);
}
if (Keyboard.current.escapeKey.wasPressedThisFrame)
{
@@ -220,6 +227,7 @@ public partial class GraphicalFlexibleFloatWindow
j.LeftSide.sizeDelta = new Vector2(15, j.EvDrawimage.rectTransform.sizeDelta.y);
}
}
updateClipBoardMuM();
}
if (ConnectedPoint != null && RectTransformUtility.RectangleContainsScreenPoint(GetComponent<RectTransform>(), Mouse.current.position.ReadValue()))
{
@@ -257,7 +265,7 @@ public partial class GraphicalFlexibleFloatWindow
}
public void PasteClipboard()
public void PasteClipboard(float valuescale = 1f)
{
// 获取当前时间线的节拍位置
float time = unitList[0].GetBeat();
@@ -279,7 +287,8 @@ public partial class GraphicalFlexibleFloatWindow
{
// 克隆动画数据并应用时间偏移
AnimatedFloat newFloat = EventPoint.CloneWithOffset(animatedFloat, time - MinCopyTime);
newFloat.startValue *= valuescale;
newFloat.endValue *= valuescale;
// 在对应的 FlexibleFloatTab 中生成事件点
unitList.Find(x => x.Title == key).SpawnEvent(newFloat);
}