Пример #1
0
        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);
            }
        }
Пример #2
0
        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++;
                }
            }
        }
Пример #3
0
        private void UpdateView()
        {
            DailyBonusCycleComponent cycle = this.GetCycle(this.userDailyBonusNode, this.dailyBonusConfigNode);

            this.cellsProgressBar.Init(cycle.DailyBonuses.Length, cycle.DailyBonuses, this.userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards);
            this.mapView.UpdateView(cycle, this.userDailyBonusNode);
            this.UpdateTeleport(this.userDailyBonusNode, this.dailyBonusConfigNode);
            this.UpdateFoundItemsLabel(cycle);
        }
Пример #4
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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        private void UpdateFoundItemsLabel(DailyBonusCycleComponent cycle)
        {
            string allItemsFound = string.Empty;

            if (this.userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards.Count >= cycle.DailyBonuses.Length)
            {
                if (this.userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards.Count == cycle.DailyBonuses.Length)
                {
                    allItemsFound = (string)this.allItemsFound;
                }
            }
            else
            {
                allItemsFound = (string)this.itemsFound;
                if (this.userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards.Count == 0)
                {
                    allItemsFound = (string)this.noItemsFound;
                }
            }
            this.foundItemsLabel.SetText(allItemsFound.ToUpper());
        }
Пример #7
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);
        }