public override void Start() { PlayGame.SetListener(PlayNormalF); WatchAd.SetListener(GetFreeSpins); buyTryButton.SetListener(BuyTries); buyCoinsButton.SetListener(() => { Services.SoundService.PlayOneShot(SoundName.buyGenerator); Services.ViewService.Show(ViewType.UpgradesView, new ViewData { UserData = new UpgradeViewData { TabName = UpgradeTabName.Shop, StoreSection = StoreItemSection.Coins } }); }); upgradeButton.SetListener(() => { var isMax = Services.SplitService.IsMaxLevel(); if (!isMax) { var nextLevel = Services.SplitService.GetLevel() + 1; var nextUpgradeData = ResourceService.RocketUpgradeRepository.GetUpgrade(nextLevel); if (Services.PlayerService.IsEnoughCoins(nextUpgradeData.cost)) { Services.SoundService.PlayOneShot(SoundName.buyGenerator); Services.SplitService.UpgradeLevel(); } else { Services.ViewService.Show(ViewType.CoinRequiredView, new ViewData { UserData = nextUpgradeData.cost }); } } }); UpdateControls(); updateTimer.Setup(1, (dt) => { var splitService = Services.SplitService; var isNoTries = !splitService.HasTries; if (splitService.NextTriesUpdateTime > Services.TimeService.UnixTimeInt) { var tDisplay = System.TimeSpan.FromSeconds(splitService.NextTriesUpdateTime - Services.TimeService.UnixTimeInt); var answer = $"{tDisplay.Minutes:D2}:{tDisplay.Seconds:D2}"; TimeDisplay.text = answer; } else { if (isNoTries) { Services.SplitService.SetTries(Services.SplitService.MaxTries); TimeDisplay.text = "00:00"; } } }, true); }
public override void Start() { var slotsService = Services.GetService <IPrizeWheelGameService>(); if (slotsService.NextTriesUpdateTime < Services.TimeService.UnixTimeInt) { slotsService.SetTries(slotsService.MaxTries); } PlayGame.SetListener(PlayNormal); WatchAd.SetListener(GetFreeSpins); buyTryButton.SetListener(BuyTries); if (!IsInitialized) { Observable.Interval(TimeSpan.FromSeconds(1)).Subscribe(_ => { timerParent.SetActive(!slotsService.HasTries); }).AddTo(gameObject); IsInitialized = true; } }