Ejemplo n.º 1
0
    /// <summary>
    /// 1.ポップアップを表示
    /// 2.スコアを表示(スコアオブジェクトにはもう一度遊ぶボタンを付与)
    /// 3.サーバーにscoreを送信する
    /// </summary>
    public void GameOver()
    {
        if (isFlag)
        {
            isFlag = false;
            borderDialog.transform.DOScale(1f, 0.6f).SetEase(Ease.OutSine);
            totalComboText.DOCounter(0, highComboScore, 1f).SetEase(Ease.Linear);
            totalSynthelizeText.DOCounter(0, syntheticScore, 1f).SetEase(Ease.Linear).SetDelay(1f);

            totalScoreText.DOCounter(0, highScore, 3f).SetEase(Ease.Linear).SetDelay(2.5f);
            if (isRequestRanking)
            {
                requestUserScore.OnNext(highScore);
                isRequestRanking = false;
            }
        }
    }
    public void Animate()
    {
        titleTextAnimator = new DOTweenTMPAnimator(titleText);

        //ダイアログ表示
        var sequence = DOTween.Sequence()
                       .Append(dialogCanvasGroup.DOFade(1f, 0.2f))
                       .Join(frameRextTransform.DOSizeDelta(new Vector2(frameSizeDelta.x, 2), 1f)) //同時実行
                       .Append(frameRextTransform.DOSizeDelta(new Vector2(frameSizeDelta.x, frameSizeDelta.y), 1f));

        //タイトル表示
        for (int i = 0; i < titleTextAnimator.textInfo.characterCount; i++)
        {
            sequence
            .Append(titleTextAnimator.DOFadeChar(i, 1, 0.1f))
            .Join(titleTextAnimator.DOPunchCharScale(i, 1.5f, 0.1f));
        }

        //スコア表示
        sequence
        .Append(scoreLabelText.DOFade(1f, 0.5f))
        .Append(scoreValueText.DOFade(1f, 3f))
        .Join(scoreValueText.DOCounter(0, score, 3f, false))
        .AppendCallback(() => scoreValueText.transform.localScale = Vector3.one * 1.25f)
        .Append(scoreValueText.transform.DOScale(Vector3.one, 0.5f))
        .AppendInterval(0.5f);

        //新記録

        //ランクの表示

        //閉じるボタンの表示・実行
        sequence.Append(buttonCloseCanvasGroup.DOFade(1.0f, 0.25f))
        .OnComplete(() => dialogCanvasGroup.blocksRaycasts = true)
        .Play();
    }