コード例 #1
0
    public override void OnResumeObstacle()
    {
        if (isPlayingTween)
        {
            return;
        }

        if (pathTweener != null)
        {
            if (!pathTweener.IsPlaying())
            {
                pathTweener.Play();
            }
        }
        base.OnResumeObstacle();
    }
コード例 #2
0
    IEnumerator CoPlay(TweenerCore <Vector3, Path, DG.Tweening.Plugins.Options.PathOptions> pathTweener, Tweener rotTweener)
    {
        yield return(new WaitForSeconds(0.5f));

        if (isBeginToPlay)
        {
            isPlayingTween = true;

            if (pathTweener != null)
            {
                pathTweener.Play();
            }
            if (rotTweener != null)
            {
                rotTweener.Play();
            }
        }
    }
コード例 #3
0
 private void StartAnimateRoom(Color endValue)
 {
     coloringTween.Pause();
     coloringTween = DOTween.To(GetCurrentColor, ColorAllTiles, endValue, 2f);
     coloringTween.Play();
 }
コード例 #4
0
ファイル: Synopsis.cs プロジェクト: hunj/NineChronicles
        private IEnumerator StartSynopsis(bool skipPrologue)
        {
            var delayedTime = 0f;

            var startIndex = 0;

            if (!skipPrologue && prolgueEnd)
            {
                startIndex = _part1EndIndex + 2;
            }
            for (var index = startIndex; index < scripts.Length; index++)
            {
                if (skipAll)
                {
                    End();
                    yield break;
                }

                var script = scripts[index];
                if (index == _part1EndIndex && !skipPrologue)
                {
                    yield return(StartCoroutine(Find <Blind>().FadeIn(2f, "")));

                    Close();
                    Game.Game.instance.Prologue.StartPrologue();
                    yield return(null);
                }

                skipSynopsis = false;
                script.image.transform.parent.gameObject.SetActive(true);
                script.image.overrideSprite = script.sprite;

                switch (script.textAnimationTypes)
                {
                case SynopsisScene.TextAnimationType.TypeAndFade:
                    break;

                case SynopsisScene.TextAnimationType.Type:
                    break;

                case SynopsisScene.TextAnimationType.ImmediatelyAndFade:
                case SynopsisScene.TextAnimationType.Immediately:
                    script.text.text       = script.scripts;
                    script.shadowText.text = script.scripts;
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                Color color;
                TweenerCore <Color, Color, ColorOptions> tweener;
                TweenerCore <float, float, FloatOptions> skeletonTweener = null;
                switch (script.imageAnmationType)
                {
                case SynopsisScene.ImageAnimationType.FadeIn:
                    color              = script.image.color;
                    color.a            = 0;
                    script.image.color = color;

                    tweener = script.image.DOFade(1, script.imageAnimationTime);

                    if (script.hasSkeletonAnimation)
                    {
                        script.skeletonAnimation.skeleton.A = 1;
                        skeletonTweener = DOTween.To(() => script.skeletonAnimation.skeleton.A,
                                                     alpha => script.skeletonAnimation.skeleton.A = alpha, 0,
                                                     script.imageAnimationTime);
                    }

                    tweener.Play();
                    skeletonTweener?.Play();

                    yield return(new WaitUntil(() => !tweener.IsPlaying() || skipSynopsis));

                    if (skipSynopsis)
                    {
                        tweener.Complete();
                    }

                    break;

                case SynopsisScene.ImageAnimationType.FadeOut:
                    color              = script.image.color;
                    color.a            = 1;
                    script.image.color = color;

                    tweener = script.image.DOFade(0, script.imageAnimationTime);

                    if (script.hasSkeletonAnimation)
                    {
                        script.skeletonAnimation.skeleton.A = 0;
                        skeletonTweener = DOTween.To(() => script.skeletonAnimation.skeleton.A,
                                                     alpha => script.skeletonAnimation.skeleton.A = alpha, 1,
                                                     script.imageAnimationTime);
                    }

                    tweener.Play();
                    skeletonTweener?.Play();

                    yield return(new WaitUntil(() => !tweener.IsPlaying() || skipSynopsis));

                    if (skipSynopsis)
                    {
                        tweener.Complete();
                    }

                    break;

                case SynopsisScene.ImageAnimationType.Immediately:

                    script.image.sprite = script.sprite;

                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                if (script.imageAnimationEndTerm > 0)
                {
                    delayedTime = 0f;
                    yield return(new WaitUntil(() =>
                    {
                        if (delayedTime >= script.imageAnimationEndTerm || skipSynopsis)
                        {
                            return true;
                        }

                        delayedTime += Time.deltaTime;
                        return false;
                    }));
                }

                if (skipSynopsis)
                {
                    continue;
                }

                if (script.scriptsLocalizationKey == string.Empty)
                {
                    script.image.transform.parent.gameObject.SetActive(false);
                    continue;
                }

                var fade = false;

                switch (script.textAnimationTypes)
                {
                case SynopsisScene.TextAnimationType.TypeAndFade:
                    fade = true;
                    yield return(StartCoroutine(TypingText(script)));

                    break;

                case SynopsisScene.TextAnimationType.Type:
                    yield return(StartCoroutine(TypingText(script)));

                    break;

                case SynopsisScene.TextAnimationType.ImmediatelyAndFade:
                    fade = true;
                    break;

                case SynopsisScene.TextAnimationType.Immediately:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                delayedTime = 0f;

                if (script.scriptsEndTerm > 0)
                {
                    yield return(new WaitUntil(() =>
                    {
                        if (delayedTime >= script.scriptsEndTerm || skipSynopsis)
                        {
                            return true;
                        }

                        delayedTime += Time.deltaTime;
                        return false;
                    }));
                }

                if (fade)
                {
                    var tweener1 = script.text.DOFade(0, textFadeOutTime);
                    var tweener2 = script.shadowText.DOFade(0, textFadeOutTime);
                    tweener1.Play();
                    tweener2.Play();

                    yield return(new WaitUntil(() =>
                                               (!tweener1.IsPlaying() && !tweener2.IsPlaying()) || skipSynopsis));
                }
                else
                {
                    script.text.text = string.Empty;
                }

                if (skipSynopsis)
                {
                    continue;
                }
                script.image.transform.parent.gameObject.SetActive(false);
            }
            End();

            yield return(null);
        }