Menu基本完成
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,7 @@ namespace Ichni.UI
|
||||
{
|
||||
ChapterSelectionUI item = Instantiate(chapterSelectionUIPrefab, chapterContainer).GetComponent<ChapterSelectionUI>();
|
||||
item.Initialize(chapter);
|
||||
item.chapterName = chapter.chapterName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user