private void UpdateBackView(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode)
        {
            long cycleNumber = userDailyBonusNode.userDailyBonusCycle.CycleNumber;
            long num2        = (userDailyBonusNode.Entity.Id + cycleNumber) % ((long)this.back.Count);

            this.back.SelectedSpriteIndex = (int)num2;
        }
Exemple #2
0
        private void SetActiveOrUpgradableTeleportView(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode)
        {
            int zoneNumber = (int)userDailyBonusNode.userDailyBonusZone.ZoneNumber;

            if (this.UserTookAllBonusesInCurrentZone(userDailyBonusNode, dailyBonusConfigNode))
            {
                this.teleportView.SetUpgradableView(zoneNumber);
            }
            else
            {
                this.teleportView.SetActiveView(zoneNumber);
            }
        }
Exemple #3
0
        private bool UserTookAllBonusesInCurrentZone(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode)
        {
            DailyBonusCycleComponent cycle = this.GetCycle(userDailyBonusNode, dailyBonusConfigNode);
            int num = cycle.Zones[(int)((IntPtr)userDailyBonusNode.userDailyBonusZone.ZoneNumber)];

            DailyBonusData[] dailyBonuses    = cycle.DailyBonuses;
            List <long>      receivedRewards = userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards;

            for (int i = 0; i <= num; i++)
            {
                if (!receivedRewards.Contains(dailyBonuses[i].Code))
                {
                    return(false);
                }
            }
            return(true);
        }
        public void UpdateView(DailyBonusCycleComponent dailyBonusCycleComponent, DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode)
        {
            DailyBonusData[] dailyBonuses = dailyBonusCycleComponent.DailyBonuses;
            int cycleNumber = (int)userDailyBonusNode.userDailyBonusCycle.CycleNumber;

            if (this.bonusElements.Count == 0)
            {
                this.CreateBonusElements(dailyBonusCycleComponent, userDailyBonusNode);
            }
            this.UpdateBonusElementsPositions(cycleNumber);
            PlayerPrefs.SetInt(DAILY_BONUS_CYCLE_KEY, cycleNumber);
            PlayerPrefs.Save();
            int zoneNumber = (int)userDailyBonusNode.userDailyBonusZone.ZoneNumber;

            this.UpdateZoneRadiusView(zoneNumber);
            this.UpdateBonusElementView(dailyBonusCycleComponent, userDailyBonusNode, zoneNumber, dailyBonuses);
            this.UpdateBackView(userDailyBonusNode);
        }
Exemple #5
0
        private DailyBonusGarageItemReward GetCompleteUntakenDetailTargetItem(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode)
        {
            DailyBonusCycleComponent cycle = this.GetCycle(userDailyBonusNode, dailyBonusConfigNode);
            int num = cycle.Zones[(int)((IntPtr)userDailyBonusNode.userDailyBonusZone.ZoneNumber)];

            DailyBonusData[] dailyBonuses    = cycle.DailyBonuses;
            List <long>      receivedRewards = userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards;

            for (int i = 0; i <= num; i++)
            {
                DailyBonusData data = dailyBonuses[i];
                if (receivedRewards.Contains(data.Code) && (data.DailyBonusType == DailyBonusType.DETAIL))
                {
                    DetailItem item = GarageItemsRegistry.GetItem <DetailItem>(data.DetailReward.MarketItemId);
                    if (item.Count == item.RequiredCount)
                    {
                        return(data.DetailReward);
                    }
                }
            }
            return(null);
        }
Exemple #6
0
        private void UpdateTeleport(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode)
        {
            int zoneNumber = (int)userDailyBonusNode.userDailyBonusZone.ZoneNumber;

            this.completeDetailGarageItem = this.GetCompleteUntakenDetailTargetItem(userDailyBonusNode, dailyBonusConfigNode);
            if (this.completeDetailGarageItem != null)
            {
                this.teleportView.SetDetailTargetView(zoneNumber, this.completeDetailGarageItem);
                this.takeDetailTarget.gameObject.SetActive(true);
                this.takeBonusButton.gameObject.SetActive(false);
                this.takeContainerButton.gameObject.SetActive(false);
                this.takeDetailTarget.interactable = true;
            }
            else
            {
                this.takeDetailTarget.gameObject.SetActive(false);
                this.UpdateTakeBonusButtonInteractable(this.mapView.selectedBonusElement);
                if (this.UserTookAllBonuses(userDailyBonusNode, dailyBonusConfigNode))
                {
                    this.teleportView.SetBrokenView();
                    this.teleportHeaderView.SetBrokenView();
                }
                else
                {
                    this.teleportHeaderView.UpdateView(zoneNumber);
                    Date endDate = userDailyBonusNode.userDailyBonusNextReceivingDate.Date;
                    if (endDate <= Date.Now)
                    {
                        this.SetActiveOrUpgradableTeleportView(userDailyBonusNode, dailyBonusConfigNode);
                    }
                    else
                    {
                        this.teleportView.SetInactiveState(zoneNumber, endDate, ((float)userDailyBonusNode.userDailyBonusNextReceivingDate.TotalMillisLength) / 1000f);
                    }
                }
            }
        }
        private void UpdateBonusElementView(DailyBonusCycleComponent dailyBonusCycleComponent, DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, int zoneIndex, DailyBonusData[] dailyBonuses)
        {
            List <long> receivedRewards = userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards;
            int         num             = dailyBonusCycleComponent.Zones[zoneIndex];

            for (int i = 0; i < dailyBonuses.Length; i++)
            {
                if (i > num)
                {
                    this.bonusElements[i].UpdateView(dailyBonuses[i], BonusElementState.INACCESSIBLE);
                }
                else if (receivedRewards.Contains(dailyBonuses[i].Code))
                {
                    this.bonusElements[i].UpdateView(dailyBonuses[i], BonusElementState.TAKEN);
                }
                else
                {
                    this.bonusElements[i].UpdateView(dailyBonuses[i], BonusElementState.ACCESSIBLE);
                    this.bonusElements[i].transform.SetAsLastSibling();
                }
            }
            if (this.selectedBonusElement != null)
            {
                this.selectedBonusElement = null;
                this.onSelectedBonusElementChanged(this.selectedBonusElement);
            }
        }
        private void CreateBonusElements(DailyBonusCycleComponent dailyBonusCycleComponent, DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode)
        {
            int num = 0;

            int[] zones       = dailyBonusCycleComponent.Zones;
            int   cycleNumber = (int)userDailyBonusNode.userDailyBonusCycle.CycleNumber;
            int   index       = 0;

            while (index < zones.Length)
            {
                Random.InitState(cycleNumber);
                int num4 = num;
                while (true)
                {
                    if (num4 > zones[index])
                    {
                        num = zones[index] + 1;
                        index++;
                        break;
                    }
                    GameObject obj2 = Instantiate <GameObject>(this.bonusElementPrefab);
                    obj2.transform.SetParent(base.transform, false);
                    MapViewBonusElement component = obj2.GetComponent <MapViewBonusElement>();
                    component.ZoneIndex = index;
                    this.bonusElements.Add(component);
                    component.OnValueChanged(new Action <MapViewBonusElement, bool>(this.OnBonusElementToggleValueChanged));
                    component.SetToggleGroup(base.GetComponent <ToggleGroup>());
                    num4++;
                }
            }
        }
Exemple #9
0
 public DailyBonusCycleComponent GetCycle(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode) =>
 !userDailyBonusNode.userDailyBonusCycle.CycleNumber.Equals((long)0L) ? ((DailyBonusCycleComponent)dailyBonusConfigNode.dailyBonusEndlessCycle) : ((DailyBonusCycleComponent)dailyBonusConfigNode.dailyBonusFirstCycle);
Exemple #10
0
 private bool UserTookAllBonuses(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode) =>
 userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards.Count.Equals(this.GetCycle(userDailyBonusNode, dailyBonusConfigNode).DailyBonuses.Length);
Exemple #11
0
 public void UpdateViewInNextFrame(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode)
 {
     this.userDailyBonusNode   = userDailyBonusNode;
     this.dailyBonusConfigNode = dailyBonusConfigNode;
     this.needUpdate           = true;
 }
Exemple #12
0
 public void UpdateView(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode)
 {
     this.userDailyBonusNode   = userDailyBonusNode;
     this.dailyBonusConfigNode = dailyBonusConfigNode;
     this.UpdateView();
 }