Ejemplo n.º 1
0
    public void Enter(IReadOnlyList <bool> draftsSelectable, bool unlocking)
    {
        gameObject.SetActive(true);
        focusManager.OnEnter();
        goToConfig.gameObject.SetActive(true);
        goToRankings.gameObject.SetActive(true);

        ApplySelectableDrafts(draftsSelectable);

        if (unlocking)
        {
            if (!draftsSelectable[2])
            {
                if (draftsSelectable[1])
                {
                    UnlockDraft(draft2.GetComponent <Image>(), draft2Light, draft2Black);
                }
                else
                {
                    print("実際には通らない");
                }
            }
            else
            {
                UnlockDraft(draft3.GetComponent <Image>(), draft3Light, draft3Black);
            }
        }

        FadeIn();
        focusManager.OnEnter();
    }
Ejemplo n.º 2
0
    void FadeIn()
    {
        const float targetAlpha    = 0.8f;
        const float fadeInDuration = 0.3f;

        IEnumerable <Image> stageImages = AllStages.Select(stage => stage.GetComponent <Image>());
        Image goToRanksImage            = goToRankings.GetComponent <Image>();
        Image goToConfigImage           = goToConfig.GetComponent <Image>();

        // 初期位置に
        {
            AllStages
            .Select(node => node.GetComponent <Image>())
            .Concat(new Image[] { chooseADraftImage })
            .ForEach(img =>
            {
                img.transform.SetLocalX(100);
                img.DOFade(0, 0);
            });
            goToRanksImage.transform.SetLocalX(-50);
            goToRanksImage.DOFade(0, 0);
            goToConfigImage.transform.SetLocalX(270);
            goToConfigImage.DOFade(0, 0);
            waku.FadeOut(0, Ease.Linear);
        }

        // ステージのフェードイン
        stageImages.ForEach((stageImage, i) =>
        {
            const float slideGap = 0.067f;
            DOTween.Sequence()
            .AppendInterval(i * slideGap)
            .Append(stageImage.DOFade(targetAlpha, fadeInDuration).SetEase(Ease.Linear))
            .Join(stageImage.transform.DOLocalMoveX(0, fadeInDuration).SetEase(Ease.OutCubic));
        });

        // ランキング、設定
        DOTween.Sequence()
        .AppendInterval(0.3f)
        .Append(goToConfigImage.DOFade(targetAlpha, fadeInDuration).SetEase(Ease.Linear))
        .Join(goToConfigImage.transform.DOLocalMoveX(-100, fadeInDuration).SetRelative().SetEase(Ease.OutCubic))
        .Join(goToRanksImage.DOFade(targetAlpha, fadeInDuration).SetEase(Ease.Linear))
        .Join(goToRanksImage.transform.DOLocalMoveX(-100, fadeInDuration).SetRelative().SetEase(Ease.OutCubic));

        // その他
        DOTween.Sequence()
        .AppendInterval(0.5f)
        .Append(chooseADraftImage.DOFade(1, fadeInDuration).SetEase(Ease.Linear))
        .Join(chooseADraftImage.transform.DOLocalMoveX(0, fadeInDuration).SetEase(Ease.OutCubic))
        .AppendCallback(() => waku.Transform.position = focusManager.Focused.transform.position)
        .Append(waku.WakuImage.DOFade(1, 0.2f).SetEase(Ease.Linear))
        .AppendCallback(() =>
        {
            state = State.Active;
            waku.Start_();
        });
    }