From ff392e8a4593a2da538a398f2cc572cd37cadd5b Mon Sep 17 00:00:00 2001 From: kimura Date: Mon, 14 Feb 2022 17:50:25 +0900 Subject: [PATCH] =?UTF-8?q?=E7=95=91=E3=83=AA=E3=83=AF=E3=83=BC=E3=83=89?= =?UTF-8?q?=E3=81=AE=E6=99=82=E9=96=93=E8=A1=A8=E7=A4=BA=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92=E7=A7=BB=E5=8B=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/CornField/Scripts/CornField.cs | 20 +------------------ .../CornField/Scripts/FertilizerButtonView.cs | 20 ++++++++++++++++++- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs index 4b2e7ea9..79929c56 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs @@ -221,14 +221,10 @@ public class CornField : MonoBehaviour }).AddTo(this); // 残り時間表示 - IDisposable timerDisposable = null; resetFertilizerTimer .Subscribe(x => { - timerDisposable?.Dispose(); - fertilizerButtonView.SetButtonActive(x <= 0); - fertilizerButtonView.SetTime(x); - timerDisposable = SetFertilizerTimer(x).AddTo(this); + fertilizerButtonView.ResetTimer(x); }).AddTo(this); // 残り時間を取得 @@ -456,20 +452,6 @@ public class CornField : MonoBehaviour upgradeButtonBadge.SetActive(upgradePrice <= CoinManager.Instance.OwnCoin); } - private IDisposable SetFertilizerTimer(int time) - { - return Observable.Timer(TimeSpan.Zero,TimeSpan.FromSeconds(1f)) - .Select(x => (int)(time - x)) - .TakeWhile(x => x > 0) - .Subscribe(x => - { - fertilizerButtonView.SetTime(x); - }, () => - { - fertilizerButtonView.SetButtonActive(true); - }); - } - private void SetData() { var gameData = GameDataManager.GameData; diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs index 92dec7cb..4258d382 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/FertilizerButtonView.cs @@ -11,6 +11,7 @@ namespace MyGame.Scenes.CornField.Scripts [SerializeField] private Button rewardButton; [SerializeField] private GameObject DisableObject; [SerializeField] private Text remainTimeText; + private IDisposable timerDisposable = null; public IObservable RewardButton => rewardButton.OnClickAsObservable().TakeUntilDestroy(this); public void SetButtonActive(bool active) @@ -19,10 +20,27 @@ namespace MyGame.Scenes.CornField.Scripts DisableObject.SetActive(!active); } - public void SetTime(int seconds) + private void SetTime(int seconds) { seconds = Mathf.Max(0, seconds); remainTimeText.text = string.Format(remainTimeFormat, seconds / 60, seconds % 60); } + + public void ResetTimer(int time) + { + timerDisposable?.Dispose(); + SetButtonActive(time <= 0); + SetTime(time); + timerDisposable = Observable.Timer(TimeSpan.Zero,TimeSpan.FromSeconds(1f)) + .Select(x => (int)(time - x)) + .TakeWhile(x => x > 0) + .Subscribe(x => + { + SetTime(x); + }, () => + { + SetButtonActive(true); + }); + } } } \ No newline at end of file