This commit is contained in:
SoulliesOfficial
2025-04-30 22:21:20 -04:00
6 changed files with 832 additions and 135 deletions

View File

@@ -33,17 +33,17 @@ public class SubTab : MonoBehaviour
//transform.position = new Vector3(transform.position.x, father.Title.transform.position.y, 0);
}
public void GetClick()//?
{
if (connectObj[0] is GameElement)
{
EditorManager.instance.uiManager.hierarchy.FindTab((GameElement)connectObj[0]);
}
else
{
EditorManager.instance.uiManager.hierarchy.FindTab(((SubmoduleBase)connectObj[0]).attachedGameElement);
}
}
// public void GetClick()//?
// {
// if (connectObj[0] is GameElement)
// {
// EditorManager.instance.uiManager.hierarchy.FindTab((GameElement)connectObj[0]);
// }
// else
// {
// EditorManager.instance.uiManager.hierarchy.FindTab(((SubmoduleBase)connectObj[0]).attachedGameElement);
// }
// }
}

View File

@@ -57,18 +57,11 @@ namespace Ichni.Editor
pointer.gameObject.SetActive(isActive);
});
if (OnePointer != null) moveTabPoint.localPosition =
new Vector3(timePointerArea.localPosition.x + OnePointer.transform.localPosition.x - timePointerInterval, 0, 0);
new Vector3(timePointerArea.localPosition.x + OnePointer.transform.localPosition.x - 30f, 0, 0);
foreach (var i in moveTabPoint.transform.GetComponentsInChildren<SubTab>())
{
if (i.Time >= songInformation.songTime)
{
i.transform.localScale = new Vector3(1, 1, 1);
}
else
{
i.transform.localScale = new Vector3(0, 0, 0);
}
i.gameObject.transform.localScale = i.Time >= timeline.songTime ? Vector3.one : Vector3.zero;
}
}
@@ -141,7 +134,10 @@ namespace Ichni.Editor
/// </summary>
/// <param name="beatDivider">细分X分音符</param>
/// <param name="index"></param>
TimePointer OnePointer = null;
TimePointer OnePointer = null;//第一个pointer
private void CreatePointer(int beatDivider, int index)
{
TimePointer pointer = Instantiate(timePointerPrefab, timePointerArea).GetComponent<TimePointer>();
@@ -155,7 +151,7 @@ namespace Ichni.Editor
pointer.intervalUnitText.text = Mathf.RoundToInt(index * intervalUnit).ToString();
if (index == 0)
{
OnePointer = timePointerList[timePointerList.Count - 1];
OnePointer = pointer;
}
if (beatDivider > 1)
{

View File

@@ -57,6 +57,7 @@ namespace Ichni.Editor
timePointerModule.timePointerInterval += scrollValue;
timePointerModule.UpdatePointers();
timePointerModule.SetRange(songTime);
SetTimeLine(EditorManager.instance.uiManager.inspector.connectedGameElement);
}
}
@@ -131,7 +132,7 @@ namespace Ichni.Editor
}
public RectTransform moveTabPoint;
public void Elementfind(GameElement element)//在其中添加东西时timelineTab也要写难受
public void Elementfind(GameElement element)
{
foreach (var i in element.childElementList)
{
@@ -148,7 +149,6 @@ namespace Ichni.Editor
}
}
if (element is NoteBase)
{
if (!timelineTabList.ContainsKey(element.GetType()))
@@ -160,17 +160,21 @@ namespace Ichni.Editor
timelineTabList[element.GetType()].AddElement(element);
}
}
else if (element is Track track && track.submoduleList.Any(w => w is TrackTimeSubmodule))
if (element is Track track)
{
TrackTimeSubmodule sub = (TrackTimeSubmodule)track.submoduleList.Find(w => w is TrackTimeSubmodule);
Add(sub);
var trackTimeSubmodule = track.submoduleList.FirstOrDefault(w => w is TrackTimeSubmodule) as TrackTimeSubmodule;
if (trackTimeSubmodule != null)
{
Add(trackTimeSubmodule);
}
}
if (element.submoduleList.Any(w => w is TimeDurationSubmodule))
var timeDurationSubmodule = element.submoduleList.FirstOrDefault(w => w is TimeDurationSubmodule) as TimeDurationSubmodule;
if (timeDurationSubmodule != null && timeDurationSubmodule.isOverridingDuration)
{
TimeDurationSubmodule sub = (TimeDurationSubmodule)element.submoduleList.Find(w => w is TimeDurationSubmodule);
if (sub.isOverridingDuration) Add(sub);
Add(timeDurationSubmodule);
}
}
private void Add(IBaseElement obj)