大幅优化

Signed-off-by: TRAfoer <lhf190@outlook.com>
This commit is contained in:
2025-10-05 11:45:32 +08:00
parent e145d65d38
commit 725009e354
66 changed files with 616229 additions and 175087 deletions

View File

@@ -16,7 +16,7 @@ namespace Ichni.Editor
public GameObject timePointerPrefab;
public List<TimePointer> timePointerList;
public List<TimePointer> ActivePointer => timePointerList.FindAll(pointer => pointer.gameObject.activeSelf);
public List<TimePointer> ActivePointer => timePointerList.FindAll(pointer => pointer.isInScreen);
private TimePointer NowPointer;
public RectTransform moveTabPoint;
@@ -45,7 +45,6 @@ namespace Ichni.Editor
timePointer.intervalUnitText.text = (i * timeline.timePerBeat).ToString("F3");
timePointer.GetComponent<RectTransform>().localPosition = new Vector3(i * timePointerInterval, 0f, 0f);
timePointer.index = i;
timePointer.gameObject.SetActive(false);
}
// for (int i = -1; i > -songInformation.delay / timeline.timePerBeat; i--)
// {
@@ -77,21 +76,22 @@ namespace Ichni.Editor
{
while (NowPointer.index < timePointerList.Count - 1 && NowPointer.index * timeline.timePerBeat < EditorManager.instance.songInformation.songTime)
{
NowPointer.gameObject.SetActive(false);
NowPointer.isInScreen = false;
NowPointer = timePointerList[NowPointer.index + 1];
}
while (NowPointer.index > 0 && NowPointer.index * timeline.timePerBeat >= EditorManager.instance.songInformation.songTime)
{
NowPointer.gameObject.SetActive(true);
NowPointer.isInScreen = true;
NowPointer = timePointerList[NowPointer.index - 1 >= 0 ? NowPointer.index - 1 : 0];
}
}
for (int i = NowPointer.index + 1; i < timePointerList.Count; i++)
{
timePointerList[i].gameObject.SetActive(true);
timePointerList[i].isInScreen = true;
if (timePointerList[i].GetComponent<RectTransform>().position.x > rightSide.position.x)
{
timePointerList[i].gameObject.SetActive(false);
timePointerList[i].isInScreen = false;
break;
}
}