畑リワードの時間表示処理を移動
This commit is contained in:
parent
7d248d61e3
commit
ff392e8a45
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<Unit> 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);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue