Menu基本完成

This commit is contained in:
SoulliesOfficial
2025-06-14 14:42:49 -04:00
parent b9e6a9ab25
commit b19469976a
52 changed files with 1380 additions and 363 deletions

View File

@@ -7,6 +7,7 @@ using Ichni.Story;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace Ichni.UI
@@ -15,8 +16,11 @@ namespace Ichni.UI
{
public RectTransform content;
public LayoutElement layoutElement;
public Button button;
[FormerlySerializedAs("button")] public Button expandButton;
public Button enterStorylineButton;
public Button enterSongSelectionButton;
public string chapterName;
public bool isExpanded;
public bool isDuringAnimation;
@@ -40,7 +44,12 @@ namespace Ichni.UI
private void Awake()
{
button.onClick.AddListener(() =>
}
public void Initialize(ChapterSelectionUnit chapter)
{
expandButton.onClick.AddListener(() =>
{
if (isDuringAnimation)
{
@@ -49,21 +58,38 @@ namespace Ichni.UI
if (isExpanded)
{
Collapse();
Shrink();
}
else
{
Expand();
}
});
}
public void Initialize(ChapterSelectionUnit chapter)
{
enterStorylineButton.onClick.AddListener(() =>
{
if (isDuringAnimation)
{
return;
}
ChapterSelectionManager.instance.chapterSelectionUIPage.FadeOut();
StoryManager.instance.storyUIPage.FadeIn();
});
enterSongSelectionButton.onClick.AddListener(() =>
{
if (isDuringAnimation)
{
return;
}
ChapterSelectionManager.instance.chapterSelectionUIPage.FadeOut();
SongSelectionManager.instance.songSelectionUIPage.FadeIn();
});
}
public void Expand()
private void Expand()
{
isExpanded = true;
@@ -98,42 +124,43 @@ namespace Ichni.UI
expandSequence.Play();
}
public void Collapse()
private void Shrink()
{
isExpanded = false;
Sequence collapseSequence = DOTween.Sequence();
Sequence shrinkSequence = DOTween.Sequence();
collapseSequence.Append(bottomTip.DOFade(0f, 0.4f));
collapseSequence.Join(upperTip.DOFade(0f, 0.4f));
shrinkSequence.Append(bottomTip.DOFade(0f, 0.4f));
shrinkSequence.Join(upperTip.DOFade(0f, 0.4f));
collapseSequence.Append(expansionInfos.GetComponent<CanvasGroup>().DOFade(0, 0.4f)
shrinkSequence.Append(expansionInfos.GetComponent<CanvasGroup>().DOFade(0, 0.4f)
.OnComplete(()=>
{
expansionInfos.gameObject.SetActive(false);
}));
collapseSequence.Join(expansionFunctions.GetComponent<CanvasGroup>().DOFade(0, 0.4f)
shrinkSequence.Join(expansionFunctions.GetComponent<CanvasGroup>().DOFade(0, 0.4f)
.OnComplete(() =>
{
expansionFunctions.gameObject.SetActive(false);
}));
collapseSequence.Append(titleRect.DOSizeDelta(new Vector2(322, 100), 0.4f));
shrinkSequence.Append(titleRect.DOSizeDelta(new Vector2(322, 100), 0.4f).SetEase(Ease.InQuad));
collapseSequence.Append(expansionBackground.DOSizeDelta(new Vector2(322, 826), 0.4f)
shrinkSequence.Append(expansionBackground.DOSizeDelta(new Vector2(322, 826), 0.4f)
.SetEase(Ease.InQuad)
.OnComplete(() =>
{
expansionBackground.gameObject.SetActive(false);
}));
collapseSequence.Join(DOTween.To(() => layoutElement.preferredWidth,
x => layoutElement.preferredWidth = x, 322, 0.4f));
collapseSequence.Join(avatarMask.rectTransform.DOSizeDelta(new Vector2(322, 826), 0.4f));
shrinkSequence.Join(DOTween.To(() => layoutElement.preferredWidth,
x => layoutElement.preferredWidth = x, 322, 0.4f).SetEase(Ease.InQuad));
shrinkSequence.Join(avatarMask.rectTransform.DOSizeDelta(new Vector2(322, 826), 0.4f).SetEase(Ease.InQuad));
collapseSequence.OnStart(() => isDuringAnimation = true);
collapseSequence.OnComplete(() => isDuringAnimation = false);
shrinkSequence.OnStart(() => isDuringAnimation = true);
shrinkSequence.OnComplete(() => isDuringAnimation = false);
collapseSequence.Play();
shrinkSequence.Play();
}
}
}

View File

@@ -18,6 +18,7 @@ namespace Ichni.UI
{
ChapterSelectionUI item = Instantiate(chapterSelectionUIPrefab, chapterContainer).GetComponent<ChapterSelectionUI>();
item.Initialize(chapter);
item.chapterName = chapter.chapterName;
}
}
}