update
This commit is contained in:
@@ -96,14 +96,7 @@ namespace Ichni.Menu.UI
|
||||
|
||||
if (songItemPrefab != null)
|
||||
{
|
||||
for (int i = 0; i < songTitles.Count; i++)
|
||||
{
|
||||
GameObject itemGO = Instantiate(songItemPrefab, content);
|
||||
itemGO.name = $"Song_{i}_{songTitles[i]}";
|
||||
Text itemText = itemGO.GetComponentInChildren<Text>();
|
||||
if (itemText != null) itemText.text = songTitles[i];
|
||||
songItems.Add(itemGO.GetComponent<RectTransform>());
|
||||
}
|
||||
GenerateSongTabs();
|
||||
}
|
||||
|
||||
Canvas.ForceUpdateCanvases();
|
||||
@@ -115,7 +108,17 @@ namespace Ichni.Menu.UI
|
||||
}
|
||||
}
|
||||
|
||||
Tweener contentTween;
|
||||
public void GenerateSongTabs()
|
||||
{
|
||||
string chapter = ChapterSelectionManager.instance.currentChapter;
|
||||
ChapterSelectionUnit chapterUnit = ChapterSelectionManager.instance.chapters.Find(c => c.chapterIndex == chapter);
|
||||
foreach (SongItemData song in chapterUnit.songs)
|
||||
{
|
||||
SongSelectionTabUI tab = Instantiate(songItemPrefab ,content).GetComponent<SongSelectionTabUI>();
|
||||
songItems.Add(tab.GetComponent<RectTransform>());
|
||||
tab.SetUpTab(song);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnBeginDrag(PointerEventData eventData)
|
||||
{
|
||||
@@ -190,6 +193,22 @@ namespace Ichni.Menu.UI
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerator SnapToTab(SongSelectionTabUI tab)
|
||||
{
|
||||
selectedTab?.SetSelection(false);
|
||||
selectedTab = null; // 清除当前选中的Tab
|
||||
|
||||
DOTween.To(x=>targetX = x, targetX, -1600f, 0.2f).SetEase(Ease.OutQuad).Play();
|
||||
songItems.ForEach(item => item.DOScale(1.2f,0.2f).SetEase(Ease.OutQuad).Play());
|
||||
|
||||
yield return new WaitForSeconds(0.2f);
|
||||
|
||||
DOTween.To(x => targetX = x, targetX, -1500f, 0.2f).SetEase(Ease.OutQuad).Play();
|
||||
songItems.ForEach(item => item.DOScale(1,0.2f).SetEase(Ease.OutQuad).Play());
|
||||
|
||||
yield return StartCoroutine(SnapToItem(tab.GetComponent<RectTransform>(), false));
|
||||
}
|
||||
|
||||
private IEnumerator SnapToItem(RectTransform targetItem, bool immediate)
|
||||
{
|
||||
if (!immediate)
|
||||
|
||||
Reference in New Issue
Block a user