リワードタイマーのフォアグラウンド復帰時対応
This commit is contained in:
parent
0e40f526da
commit
079d45c6b6
|
|
@ -5,7 +5,6 @@ using System.Linq;
|
|||
using MyGame.Scenes.CornField.Scripts;
|
||||
using MyGame.Scripts;
|
||||
using UniRx;
|
||||
using UniRx.Triggers;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using Random = UnityEngine.Random;
|
||||
|
|
@ -175,18 +174,27 @@ public class CornField : MonoBehaviour
|
|||
}).AddTo(this);
|
||||
|
||||
// 残り時間表示
|
||||
IDisposable timerDisposable = null;
|
||||
resetFertilizerTimer
|
||||
.Subscribe(x =>
|
||||
{
|
||||
timerDisposable?.Dispose();
|
||||
fertilizerButtonView.SetButtonActive(x <= 0);
|
||||
fertilizerButtonView.SetTime(x);
|
||||
SetFertilizerTimer(x).AddTo(this);
|
||||
timerDisposable = SetFertilizerTimer(x).AddTo(this);
|
||||
}).AddTo(this);
|
||||
|
||||
// 残り時間を取得
|
||||
var remaining = (int)DateTime.FromBinary(gameData.fertilizerTime).Subtract(DateTime.UtcNow).TotalSeconds;
|
||||
resetFertilizerTimer.OnNext(remaining);
|
||||
|
||||
Observable.EveryApplicationPause()
|
||||
.Where(pause => !pause)
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
resetFertilizerTimer.OnNext((int) DateTime.FromBinary(gameData.fertilizerTime).Subtract(DateTime.UtcNow).TotalSeconds);
|
||||
}).AddTo(this);
|
||||
|
||||
// 収穫カウンター+吸収演出
|
||||
cornHarvester.FinishHarvested
|
||||
.Scan((list, newList) => (newList.count, list.colliders.Concat(newList.colliders).ToList()))
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public class MissionManager : MonoBehaviour
|
|||
timeLimitText.text = String.Format(TimeFormat, 0, 0, 0);
|
||||
}
|
||||
Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f))
|
||||
.Select(x => limitTime.Add(TimeSpan.FromSeconds(-x)))
|
||||
.Select(x => gameData.GetDailyMissionLimitTime())
|
||||
.TakeWhile(x => x.TotalSeconds > 0)
|
||||
.Subscribe(x =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -102,12 +102,14 @@ public class MarketManager : MonoBehaviour
|
|||
});
|
||||
}).AddTo(this);
|
||||
|
||||
IDisposable timerDisposable = null;
|
||||
resetRefreshTimer
|
||||
.Subscribe(time =>
|
||||
{
|
||||
timerDisposable?.Dispose();
|
||||
rewardButtonView.SetButtonActive(time <= 0);
|
||||
rewardButtonView.SetTime(time);
|
||||
Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f))
|
||||
timerDisposable = Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f))
|
||||
.Select(x => (int)(time - x))
|
||||
.TakeWhile(x => x > 0)
|
||||
.Subscribe(x =>
|
||||
|
|
@ -121,6 +123,13 @@ public class MarketManager : MonoBehaviour
|
|||
|
||||
var remaining = (int) DateTime.FromBinary(gameData.increaseCustomerTime).Subtract(DateTime.UtcNow).TotalSeconds;
|
||||
resetRefreshTimer.OnNext(remaining);
|
||||
|
||||
Observable.EveryApplicationPause()
|
||||
.Where(pause => !pause)
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
resetRefreshTimer.OnNext((int) DateTime.FromBinary(gameData.increaseCustomerTime).Subtract(DateTime.UtcNow).TotalSeconds);
|
||||
}).AddTo(this);
|
||||
|
||||
market.IsPromotion.Subscribe(active =>
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue