コード例 #1
0
        public static Sequence DOFade(this TextMeshProUGUI item, FadeAnimationConfig config, FadeColorData data)
        {
            var sequence = DOTween.Sequence();

            sequence.AppendCallback(() => item.gameObject.SetActive(true));

            if (config.FadeInDuration > Mathf.Epsilon)
            {
                sequence.Append(item.DOColor(data.TargetColor, config.FadeInDuration));
            }
            else
            {
                item.color = data.TargetColor;
            }

            if (config.FadeHoldDuration > Mathf.Epsilon)
            {
                sequence.AppendInterval(config.FadeHoldDuration);
            }

            sequence.Append(item.DOColor(data.ClearColor, config.FadeOutDuration));

            sequence.AppendCallback(() => item.gameObject.SetActive(false));

            return(sequence);
        }
コード例 #2
0
    public Tween PlayRandomWaveFinish()
    {
        Tween t     = null;
        int   index = Random.Range(0, 5);

        switch (index)
        {
        case 0:
            waveText.transform.DOScaleX(1.2f, 0.5f).SetEase(Ease.OutElastic, 1.0f, 0.5f);
            t = waveText.transform.DOScale(Vector3.zero, 1.0f);
            break;

        case 1:
            waveText.transform.DORotate(new Vector3(-360.0f, 0.0f, waveText.rectTransform.rotation.eulerAngles.z), 1.0f, RotateMode.FastBeyond360);
            t = waveText.transform.DOScaleY(0.0f, 1.0f).SetEase(Ease.InBack, 1.0f, 1.0f).SetDelay(1.0f);
            break;

        case 2:
            waveText.transform.DORotate(new Vector3(0.0f, 180.0f, waveText.rectTransform.rotation.eulerAngles.z), 1.0f, RotateMode.Fast);
            t = waveText.DOColor(Color.clear, 1.0f);
            break;

        case 3:
            waveText.transform.DOScaleY(1.4f, 0.3f).SetLoops(2, LoopType.Yoyo).SetEase(Ease.OutElastic, 1.0f, 1.0f);
            t = waveText.rectTransform.DOAnchorPosX(300.0f, 1.0f).SetEase(Ease.InOutElastic, 1.0f, 1.0f).SetDelay(0.25f);
            break;

        case 4:
            waveText.transform.DOScaleX(1.4f, 0.3f).SetEase(Ease.OutBounce, 1.0f, 1.0f);
            waveText.transform.DOScale(Vector3.zero, 1.0f).SetDelay(0.3f);
            t = waveText.rectTransform.DOAnchorPosY(400.0f, 1.0f).SetEase(Ease.OutElastic, 1.0f, 1.0f).SetDelay(0.3f);
            break;
        }
        return(t);
    }
コード例 #3
0
 public void FlashStarter()
 {
     lifeText.DOColor(Color.yellow, 0.2f)
     .SetEase(Ease.Flash)
     .SetLoops(9, LoopType.Yoyo)
     .OnComplete(() => { lifeText.DOColor(Color.white, 0.5f); });
 }
コード例 #4
0
        private void DoCompleteWordAnimation(float duration)
        {
            if (_currentSequences.Count > 0)
            {
                foreach (var sequence in _currentSequences)
                {
                    sequence.Kill();
                    sequence.Rewind(false);
                }

                _currentSequences.Clear();

                _text.transform.localScale = Vector3.one;
                _text.color = Color.black;
            }

            var scaleSequence = DOTween.Sequence();

            scaleSequence.Append(_text.transform.DOScale(0.25f, duration).SetRelative().SetEase(Ease.OutBack));
            scaleSequence.Append(_text.transform.DOScale(-0.25f, duration).SetRelative().SetEase(Ease.OutBack));

            _currentSequences.Add(scaleSequence);

            var colorSequence = DOTween.Sequence();

            colorSequence.Append(_text.DOColor(Color.yellow, duration).SetEase(Ease.OutBack));
            colorSequence.Append(_text.DOColor(Color.black, duration).SetEase(Ease.OutBack));

            _currentSequences.Add(colorSequence);
        }
コード例 #5
0
    public void UpdateCurrency()
    {
        newCurrency = Player.Instance.getMoney();
        int change = newCurrency - currency;

        currencyChange.text = change.ToString();
        if (change > 0)
        {
            currencyChange.color = Color.green;
            Color endColor = Color.green;
            endColor.a = 0;
            currencyChange.transform.DOLocalMoveY(-80f, 1.0f);
            currencyChange.DOColor(endColor, 1.0f);
            currencyChange.transform.DOLocalMoveY(-40f, 0.0f).SetDelay <Tween>(1.0f);
        }
        else
        {
            currencyChange.color = Color.red;
            Color endColor = Color.red;
            endColor.a = 0;
            currencyChange.transform.DOLocalMoveY(-80f, 1.0f);
            currencyChange.DOColor(endColor, 1.0f);
            currencyChange.transform.DOLocalMoveY(-40f, 0.0f).SetDelay <Tween>(1.0f);
        }

        StartCoroutine(currencyTicking(2f));
    }
コード例 #6
0
        private void UpdateHoverColor()
        {
            if (colorTweenImage != null)
            {
                colorTweenImage.Kill();
            }
            if (colorTweenText != null)
            {
                colorTweenText.Kill();
            }

            Color color = baseColor.Color;

            if (pointerHover)
            {
                color = hoverColor.Color;
            }

            if (image)
            {
                colorTweenImage = image.DOColor(color, 0.15f).SetUpdate(true);
            }
            if (text)
            {
                colorTweenText = text.DOColor(color, 0.15f).SetUpdate(true);
            }
        }
コード例 #7
0
    public void DisplayConsumableValue(Consumable c)
    {
        if (GameManager.instance.strikes < GameManager.instance.maxStrikes)
        {
            if (c.value != 0)
            {
                if (c.value > 0)
                {
                    consumableValueText.text = c.value.ToString();

                    consumableValueText.DOColor(Color.white, 0.1f).SetDelay(0.1f).OnComplete(() =>
                    {
                        consumableValueText.DOColor(Color.clear, 0.1f).SetDelay(0.1f);
                    });
                }
                else
                {
                    if (!UserInterface.instance.intermission)
                    {
                        DisplayInGameFailText(UserInterface.instance.inGameFailText, UserInterface.instance.inGameFailText.Length);
                    }
                }
            }
        }
    }
コード例 #8
0
    public void SetCount(int value)
    {
        _text = GetComponent <TextMeshProUGUI>();
        Destroy(gameObject, ShowTime);

        if (value == 0)
        {
            return;
        }

        float y = transform.localPosition.y + 53f;

        transform.DOLocalMoveY(y, ShowTime);


        _text.text = "+" + value;
        if (value == 1)
        {
            _text.color = Color.black;
            _text.DOColor(new Color(0f, 0f, 0f, 0f), ShowTime);
        }
        else
        {
            _text.color = Color.white;
            _text.DOColor(new Color(1f, 1f, 1f, 0f), ShowTime);
        }

        if (value >= 3)
        {
            transform.Rotate(Vector3.forward, -11 + 11f / value);
            transform.DOScale(1.5f, ShowTime * 2f / value).SetLoops(-1, LoopType.Yoyo);
            transform.DOLocalRotate(new Vector3(0f, 0f, 11f - 11f / value), ShowTime / value).SetLoops(-1, LoopType.Yoyo);
        }
    }
コード例 #9
0
 private void Punch()
 {
     pointsTextTransform.DOComplete();
     PointsText.DOComplete();
     pointsTextTransform.DOPunchScale(Vector3.one * PunchAmount, PunchDuration, PunchVibration, PunchElasticity);
     PointsText.DOColor(PointAddColor, ColorEaseDuration).SetEase(ColorEase)
     .OnComplete(() => PointsText.DOColor(originalColor, ColorEaseDuration).SetEase(ColorEase));
 }
コード例 #10
0
    private void StartGame()
    {
        titleImage.GetComponent <Image>().DOColor(new Color(1f, 1f, 1f, 0f), 1f);
        anyKeyImage.DOColor(new Color(1f, 1f, 1f, 0f), 1f);
        anyKeyText.DOColor(new Color(1f, 1f, 1f, 0f), 1f);
        artiClone.StartGame();

        canStart = false;
    }
コード例 #11
0
 public void Show()
 {
     gameOver.DOAnchorPos(new Vector2(gameOver.anchoredPosition.x, gameOverShowY), 1f);
     gameOverTM.DOColor(showTextColor, 1f).OnComplete(() =>
     {
         onShowComplete.Invoke();
         GameManager.UnblockInput();
     });
 }
コード例 #12
0
    public void SetText(string text)
    {
        Messages.text = text;
        Sequence seq = DOTween.Sequence();

        seq.Append(Messages.DOColor(new Color(1, 1, 1, 1), 3f))
        .AppendInterval(2)
        .AppendCallback(() => Messages.DOColor(new Color(1, 1, 1, 0), 3f));
    }
コード例 #13
0
 public void Show()
 {
     scoreTM.text = "";
     isVisible    = true;
     GameManager.UnblockInput();
     scoreTM.DOColor(showTextColor, 1f).OnComplete(() =>
     {
         onShowComplete.Invoke();
     });
 }
コード例 #14
0
 public void QuickNotification(string notiText)
 {
     quickNotification.transform.localPosition = Vector3.zero;
     quickNotiText.text = notiText;
     quickNotification.DOColor(onColor, 1);
     quickNotification.DOColor(offColor, 1).SetDelay(1.5f);
     quickNotiText.DOColor(onTextColor, 1);
     quickNotiText.DOColor(offTextColor, 1).SetDelay(1.5f);
     quickNotification.transform.DOLocalMoveY(-1000, 0).SetDelay(2.5f);
 }
コード例 #15
0
    IEnumerator PulseAlphaToFull()
    {
        while (true)
        {
            textColor.a = alphaRange.maxValue;
            yield return(textObj.DOColor(textColor, speed).WaitForCompletion());

            textColor.a = alphaRange.minValue;
            yield return(textObj.DOColor(textColor, speed).WaitForCompletion());
        }
    }
コード例 #16
0
 async void RunAlert()
 {
     while (alertStarted)
     {
         timerText.DOColor(new Color(1.54f, 0.18f, 0.255f), 0.25f);
         timerText.transform.DOShakePosition(0.15f, new Vector3(30f, 0), 10, 0, false, true).OnComplete(() => {
             timerText.DOColor(new Color(0.561f, 0.39f, 0.19f), 0.25f);
         });
         await new WaitForSeconds(1);
     }
 }
コード例 #17
0
ファイル: Manager.cs プロジェクト: VVheyn/CircleCapture2D
    IEnumerator NewBest_Animation()
    {
        for (int i = 0; i < 8; i++)
        {
            BestSkor_ENDMENU.DOColor(new Color32(255, 255, 255, 0), 0.4f);
            yield return(new WaitForSeconds(0.35f));

            BestSkor_ENDMENU.DOColor(new Color32(255, 255, 255, 255), 0.4f);
            yield return(new WaitForSeconds(0.35f));
        }
    }
コード例 #18
0
ファイル: UpdatePlayerScore.cs プロジェクト: OnlyR0ck/THoop
 private void ChangeScore(bool winner, int score)
 {
     if (winner)
     {
         _playerTextScore.text = $"{score}";
         _playerTextRectTransform.DOScale(1.4f, 0.1f);
         _playerTextScore.DOColor(_animateColor, 0.0f);
         _playerTextRectTransform.DOScale(1f, 0.5f);
         _playerTextScore.DOColor(_startColor, 3f);
     }
 }
コード例 #19
0
 IEnumerator CountDown()
 {
     for (int i = 3; i > 0; i--)
     {
         text.text = i.ToString();
         yield return(new WaitForSeconds(60f / BPM));
     }
     text.text = "GO!";
     text.GetComponent <RectTransform>().DOMoveY(0.5f, 0.5f);
     text.DOColor(new Color(1, 1, 1, 0), 0.5f);
     StartCoroutine(SpawnAllArrows());
 }
コード例 #20
0
    IEnumerator FadeTapToContinue()
    {
        while (true)
        {
            if (TapToContinue.gameObject.activeSelf)
            {
                yield return(TapToContinue.DOColor(new Color(1f, 1f, 1f, 0.75f), 1f).WaitForCompletion());

                yield return(TapToContinue.DOColor(new Color(1f, 1f, 1f, 0f), 1f).WaitForCompletion());
            }
            yield return(new WaitForEndOfFrame());
        }
    }
コード例 #21
0
ファイル: CanvasMain.cs プロジェクト: AkioMabuchi/PsyberZone
    IEnumerator CoroutineShowMessage(string message)
    {
        gameObjectTextMeshProMessage.transform.localPosition = new Vector3(0.0f, -100.0f, 0.0f);
        _textMeshProMessage.color = new Color(1.0f, 1.0f, 1.0f, 0.0f);
        _textMeshProMessage.text  = message;

        gameObjectTextMeshProMessage.transform.DOLocalMoveY(100.0f, 1.0f);
        _textMeshProMessage.DOColor(new Color(1.0f, 1.0f, 1.0f, 1.0f), 1.0f);
        yield return(new WaitForSeconds(5.0f));

        gameObjectTextMeshProMessage.transform.DOLocalMoveY(300.0f, 0.4f);
        _textMeshProMessage.DOColor(new Color(1.0f, 1.0f, 1.0f, 0.0f), 1.0f);
    }
コード例 #22
0
    public void PlayInvalidBetFeedback()
    {
        SFXHandler.Instance.PlayNegativeUISfx();

        //Shake the betting label and flash red as to saying NO

        PlayerBetTransform.DOPunchPosition(negativePunch, negativePunchDuration, negativePunchVibrato, negativePunchElasticity)
        .OnComplete(() => PlayerBetTransform.DOMove(PlayerBetTransform.position, Constants.QUICK_DELAY));

        lbl_PlayerBetLimits.DOColor(Color.red, negativePunchDuration)
        .SetEase(Ease.Flash, Constants.FEEDBACK_AMPLITUDE, Constants.SECOND_DELAY)
        .OnComplete(() => lbl_PlayerBetLimits.DOColor(Color.white, Constants.QUICK_DELAY));
    }
コード例 #23
0
 public void MinusScore(int amt)
 {
     TrinaxAudioManager.Instance.PlaySFX(TrinaxAudioManager.AUDIOS.SCORE_FAIL, TrinaxAudioManager.AUDIOPLAYER.SFX2);
     Score -= amt;
     if (Score <= 0)
     {
         Score = 0;
     }
     UpdateHUD();
     scoreText.DOColor(new Color(1.54f, 0.18f, 0.255f), 0.25f).OnComplete(() => {
         scoreText.DOColor(new Color(1f, 0.79f, 0.16f), 0.25f);
     });
     scoreText.transform.DOShakePosition(0.25f, new Vector3(25f, 0), 5, 0, false, true);
 }
コード例 #24
0
        public void Reset()
        {
            if (sequence != null)
            {
                sequence.Kill();
            }

            text.transform.DOKill();
            text.transform.localScale = Vector3.one;

            sequence = DOTween.Sequence();
            sequence.Append(text.DOColor(Color.red, 0.25f).SetEase(Ease.OutCubic));
            sequence.Join(text.transform.DOPunchPosition(new Vector3(25, 0, 0), 0.5f, 25));
            sequence.Append(text.DOColor(Color.white, 0.25f).SetEase(Ease.OutCubic));
        }
コード例 #25
0
 public void ResetUI()
 {
     combo.text = "";
     combo.DOColor(Color.clear, 0.0f);
     score.text      = "00";
     multiplier.text = "";
     SizeOMeter.transform.localScale = new Vector3(1, 0, 1);
     sizeOMeterBackground.color      = new Color(255.0f, 255.0f, 255.0f, 0.5f);
     failText.DOColor(Color.clear, 0.0f);
     waveInt       = 1;
     waveText.text = "";
     colorTween.Kill(true);
     colorTween = SizeOMeter.DOColor(Color.black, 0.2f);
     colorTween = null;
 }
コード例 #26
0
 void RefreshScoreLabel(float value)
 {
     currentScore   += value;
     scoreLabel.text = $"{currentScore.ToString(CultureInfo.InvariantCulture)}";
     scoreLabel.rectTransform.DOScale(1.1f, 0.25f)
     .OnStart(() =>
     {
         scoreLabel.DOColor(Color.white, 0.25f);
     })
     .OnComplete(() =>
     {
         scoreLabel.rectTransform.DOScale(1f, 0.15f);
         scoreLabel.DOColor(Color.black, 0.25f);
     });
 }
コード例 #27
0
    public void Show()
    {
        title.DOAnchorPos(new Vector2(title.anchoredPosition.x, titleShowY), 0.6f);
        titleTM.DOColor(showTextColor, 0.6f);

        subTitle.DOAnchorPos(new Vector2(subTitle.anchoredPosition.x, subTitleShowY), 0.6f);
        subTitleTM.DOColor(showTextColor, 0.6f).OnComplete(() =>
        {
            tipTM.DOColor(showTextColor, 0.4f).OnComplete(() =>
            {
                GameManager.UnblockInput();
                onShowComplete.Invoke();
            });
        });
    }
コード例 #28
0
    private void Hit(Vector4 point, Segment value)
    {
        //SegmentInfo pt = SegmentInfos.Find(x => Segment.Bad == value);
        SegmentInfo info = SegmentInfoDict[value];

        // TODO, base speed and stuff off how well they're doing.
        Animator anim = golemClone.GetComponent <Animator>();

        anim.SetBool("Dance", true);
        anim.speed += .5f;

        //Play relevant SFX based on point hit
        PlaySFX(value);

        RadialBar.ChangePoint(point, SegmentInfoDict[Segment.Bad].Color);

        HourGlass.CurrentTimeRemaining += info.TimeAdd;
        price     = price + info.PriceAdd >= PriceInfoDict[golemQuality] ? price + info.PriceAdd : PriceInfoDict[golemQuality];
        happiness = Mathf.Clamp01(happiness + info.HappinessAdd);

        PriceText.text = "Price: <sprite=0>" + price;
        // TODO: when the design is finalised, allow these to be altered through parameters.
        // BUG: its possible that the transform gets punched into space if the user spams hard enough.
        PriceText.rectTransform.DOPunchAnchorPos(Vector2.up * 5, .7f);
        PriceText.DOColor(info.Color, .5f).SetEase(Ease.OutCirc).OnComplete(() => PriceText.DOColor(c, .5f).SetEase(Ease.OutCirc));

        HappinessText.text = "Happy: " + (happiness * 100).ToString("0") + "%";
        HappinessText.rectTransform.DOPunchAnchorPos(Vector2.up * 5, .7f);
        HappinessText.DOColor(info.Color, .5f).SetEase(Ease.OutCirc).OnComplete(() => HappinessText.DOColor(c, .5f).SetEase(Ease.OutCirc));

        DebugText.text  = value.ToString();
        DebugText.color = info.Color;

        Wand.transform.DORotate(Vector3.right * 150f, .7f, RotateMode.LocalAxisAdd).SetEase(Ease.OutCirc);
        WandParticleSystem.Play();

        if (info.PriceAdd > 0)
        {
            var burst = CoinFallParticles.emission.GetBurst(0);
            burst.cycleCount = (int)(info.PriceAdd * .1f);
            CoinFallParticles.emission.SetBurst(0, burst);
            CoinFallParticles.Stop();
            CoinFallParticles.time = 0;
            CoinFallParticles.Play();
        }

        RadialSlider.PauseForDuration(.2f);
    }
コード例 #29
0
    private void OnComboCounterChanged(int comboCounter)
    {
        if (notificationTween != null && comboCounter > 1)
        {
            notificationTween.Kill();
            notification.color = Color.clear;
            notification.transform.localScale = Vector3.one;
            notificationTween = null;
        }

        var comboText = $"X{(comboCounter > 1 ? comboCounter : 1)}";

        currentMultiplier.text = comboText;
        if (comboCounter > 1)
        {
            notification.text = comboText;
            notificationTween = (notification.DOColor(notificationEndColor, notificationTime).OnStart(() =>
            {
                notification.transform.DOScale(notificationScale, notificationTime);
            })).OnComplete(() =>
            {
                notification.color = Color.clear;
                notification.transform.localScale = Vector3.one;
                notificationTween = null;
            });
        }
    }
コード例 #30
0
 public void Show(string info, Action onShown = null)
 {
     colSeq.Kill();
     gameObject.SetActive(true);
     message.color = fadedColor;
     message.text  = info;
     colSeq        = DOTween.Sequence();
     colSeq.Append(message.DOColor(defaultColor, .45f))
     .AppendInterval(1.5f)
     .Append(message.DOColor(fadedColor, .45f))
     .AppendCallback(() =>
     {
         onShown?.Invoke();
         gameObject.SetActive(false);
     });
 }