From 6a183dc5ac49c00c442df68c692c68ef59b0bba5 Mon Sep 17 00:00:00 2001 From: kimura Date: Fri, 1 Jul 2022 16:52:35 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=AB=E3=82=A6=E3=83=B3=E3=83=88=E3=83=80?= =?UTF-8?q?=E3=82=A6=E3=83=B3=E6=BC=94=E5=87=BA=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/MiniGame/Prefabs/Header.prefab | 2 ++ .../Scenes/MiniGame/Scripts/GameManager.cs | 1 + .../Scenes/MiniGame/Scripts/HeaderView.cs | 28 +++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Prefabs/Header.prefab b/popcorn/Assets/MyGame/Scenes/MiniGame/Prefabs/Header.prefab index 98c49e15..bbc53d35 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Prefabs/Header.prefab +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Prefabs/Header.prefab @@ -590,6 +590,8 @@ MonoBehaviour: m_EditorClassIdentifier: text: {fileID: 1458058295484164564} timeText: {fileID: 7932948163013127618} + countDownAnimator: {fileID: 8834137657701799390} + countDownText: {fileID: 6898933620753137981} --- !u!1 &7328251775195385351 GameObject: m_ObjectHideFlags: 0 diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs index 04f11f61..97c64efe 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs @@ -206,6 +206,7 @@ namespace MyGame.Scenes.MiniGame.Scripts .Subscribe(time => { SoundManager.Instance.PlaySE("se_minigame_RemainingTimeLeft"); + headerView.StartCountDown(); }).AddTo(gameCompositeDisposable); break; case GameState.Success: diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/HeaderView.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/HeaderView.cs index a8935428..af64f93f 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/HeaderView.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/HeaderView.cs @@ -1,4 +1,5 @@ using System; +using TMPro; using UniRx; using UnityEngine; using UnityEngine.UI; @@ -9,6 +10,14 @@ namespace MyGame.Scenes.MiniGame.Scripts { [SerializeField] private Text text; [SerializeField] private Text timeText; + [SerializeField] private Animator countDownAnimator; + [SerializeField] private TextMeshProUGUI countDownText; + private int count = 5; + + private void Start() + { + countDownAnimator.gameObject.SetActive(false); + } public void ChangeItemCount(int value) => text.text = value.ToString(); @@ -16,5 +25,24 @@ namespace MyGame.Scenes.MiniGame.Scripts { timeText.text = $"{newTime:0}"; } + + public void StartCountDown() + { + Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f)) + .Select(x => count - x) + .Take(count) + .Subscribe(x => + { + countDownAnimator.gameObject.SetActive(true); + countDownText.text = x.ToString(); + countDownAnimator.Play("CountDown", 0, 0f); + }, () => + { + Observable.Timer(TimeSpan.FromSeconds(1f)).Subscribe(_ => + { + countDownAnimator.gameObject.SetActive(false); + }).AddTo(this); + }).AddTo(this); + } } } \ No newline at end of file