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