diff --git a/Assets/Scripts/FramedAnimator/View/Animator.cs b/Assets/Scripts/FramedAnimator/View/Animator.cs index 2d2aad4..e15fa20 100644 --- a/Assets/Scripts/FramedAnimator/View/Animator.cs +++ b/Assets/Scripts/FramedAnimator/View/Animator.cs @@ -7,13 +7,13 @@ namespace FramedAnimator { public class Animator : MonoBehaviour { [SerializeField] private new Animation animation; public string CurrentAnimation => animation.name; - private SpriteRenderer _renderer; + public SpriteRenderer Renderer { get; private set; } public event Action OnAnimationEnd; private AnimatorModel _model; private void Awake() { - _renderer = GetComponent(); + Renderer = GetComponent(); if(animation) _model = new AnimatorModel(animation.FrameRate, animation.FrameCount); } @@ -30,7 +30,7 @@ namespace FramedAnimator { private void UpdateAnimationFrame() { _model.UpdateAnimationFrame(Time.deltaTime); - _renderer.sprite = animation.GetFrame(_model.RenderingFrame); + Renderer.sprite = animation.GetFrame(_model.RenderingFrame); } private void TryCallAnimationEnd() { @@ -41,7 +41,7 @@ namespace FramedAnimator { public void ChangeAnimation(Animation anim) { _model = new AnimatorModel(anim.FrameRate, anim.FrameCount); animation = anim; - _renderer.sprite = animation.GetFrame(0); + Renderer.sprite = animation.GetFrame(0); } public void PlayUntil(float fraction) { diff --git a/Assets/Scripts/View/Scene/GrowAnimation.cs b/Assets/Scripts/View/Scene/GrowAnimation.cs index 296ed74..0c13ac8 100644 --- a/Assets/Scripts/View/Scene/GrowAnimation.cs +++ b/Assets/Scripts/View/Scene/GrowAnimation.cs @@ -1,4 +1,5 @@ using System; +using System.Collections; using Domain; using FMODUnity; using Presenter; @@ -20,7 +21,7 @@ namespace View.Scene { private SpawnRose _spawnRose; private bool _firstUpdate = true; - public bool Growing { private set; get; } = true; + public bool Growing { private set; get; } private void Start() { _score = FindObjectOfType().Score; @@ -41,8 +42,7 @@ namespace View.Scene { if (animationName == "Rosa_End") { _spawnRose.Execute(); - animator.ChangeAnimation(startAnimation); - animator.PlayUntil(1f); + StartCoroutine(RestartCycle()); } if (animationName == "Rosa_Start") { @@ -52,6 +52,14 @@ namespace View.Scene { } } + IEnumerator RestartCycle() { + animator.Renderer.enabled = false; + yield return new WaitForSeconds(2f); + animator.Renderer.enabled = true; + animator.ChangeAnimation(startAnimation); + animator.PlayUntil(1f); + } + public void GrowStep() { if (animator.CurrentAnimation == "Rosa_Grow") { if (IsLastGrowState())