宣伝待ちタイマー改善
This commit is contained in:
parent
9a3089a4f6
commit
d7e9172635
|
|
@ -24,7 +24,7 @@ public class MarketManager : MonoBehaviour
|
||||||
private Market market;
|
private Market market;
|
||||||
List<ProductData> productDataList;
|
List<ProductData> productDataList;
|
||||||
|
|
||||||
private readonly Subject<int> resetRefreshTimer = new Subject<int>();
|
private readonly Subject<Unit> resetRefreshTimer = new Subject<Unit>();
|
||||||
private readonly CompositeDisposable ShopClosedCompositeDisposable = new CompositeDisposable();
|
private readonly CompositeDisposable ShopClosedCompositeDisposable = new CompositeDisposable();
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
|
|
@ -67,7 +67,7 @@ public class MarketManager : MonoBehaviour
|
||||||
gameData.FinishTutorial();
|
gameData.FinishTutorial();
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
walkerMask.gameObject.SetActive(false);
|
walkerMask.gameObject.SetActive(false);
|
||||||
resetRefreshTimer.OnNext((int) DateTime.FromBinary(gameData.increaseCustomerTime).Subtract(DateTime.UtcNow).TotalSeconds);
|
resetRefreshTimer.OnNext(Unit.Default);
|
||||||
SetShopView(market.CurrentShopState.Value);
|
SetShopView(market.CurrentShopState.Value);
|
||||||
}).AddTo(controller).AddTo(this);
|
}).AddTo(controller).AddTo(this);
|
||||||
});
|
});
|
||||||
|
|
@ -118,14 +118,17 @@ public class MarketManager : MonoBehaviour
|
||||||
gameData.increaseCustomerTime = DateTime.UtcNow.AddSeconds(10).ToBinary();
|
gameData.increaseCustomerTime = DateTime.UtcNow.AddSeconds(10).ToBinary();
|
||||||
#endif
|
#endif
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
resetRefreshTimer.OnNext((int) DateTime.FromBinary(gameData.increaseCustomerTime).Subtract(DateTime.UtcNow).TotalSeconds);
|
resetRefreshTimer.OnNext(Unit.Default);
|
||||||
});
|
});
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
|
// onNextをトリガーに実行
|
||||||
IDisposable timerDisposable = null;
|
IDisposable timerDisposable = null;
|
||||||
resetRefreshTimer
|
resetRefreshTimer
|
||||||
|
.Select(_ => (int) DateTime.FromBinary(gameData.increaseCustomerTime).Subtract(DateTime.UtcNow).TotalSeconds)
|
||||||
.Subscribe(time =>
|
.Subscribe(time =>
|
||||||
{
|
{
|
||||||
|
// タイマーの更新処理
|
||||||
timerDisposable?.Dispose();
|
timerDisposable?.Dispose();
|
||||||
rewardButtonView.SetButtonActive(time <= 0);
|
rewardButtonView.SetButtonActive(time <= 0);
|
||||||
rewardButtonView.SetTime(time);
|
rewardButtonView.SetTime(time);
|
||||||
|
|
@ -141,14 +144,14 @@ public class MarketManager : MonoBehaviour
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
var remaining = (int) DateTime.FromBinary(gameData.increaseCustomerTime).Subtract(DateTime.UtcNow).TotalSeconds;
|
resetRefreshTimer.OnNext(Unit.Default);
|
||||||
resetRefreshTimer.OnNext(remaining);
|
|
||||||
|
|
||||||
|
// アプリ復帰時に残り時間更新
|
||||||
Observable.EveryApplicationPause()
|
Observable.EveryApplicationPause()
|
||||||
.Where(pause => !pause)
|
.Where(pause => !pause)
|
||||||
.Subscribe(_ =>
|
.Subscribe(_ =>
|
||||||
{
|
{
|
||||||
resetRefreshTimer.OnNext((int) DateTime.FromBinary(gameData.increaseCustomerTime).Subtract(DateTime.UtcNow).TotalSeconds);
|
resetRefreshTimer.OnNext(Unit.Default);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
market.IsPromotion.Subscribe(active =>
|
market.IsPromotion.Subscribe(active =>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue