Example #1
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);
            }
        }
Example #2
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);
        }
Example #3
0
 public DailyBonusCycleComponent GetCycle(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode) =>
 !userDailyBonusNode.userDailyBonusCycle.CycleNumber.Equals((long)0L) ? ((DailyBonusCycleComponent)dailyBonusConfigNode.dailyBonusEndlessCycle) : ((DailyBonusCycleComponent)dailyBonusConfigNode.dailyBonusFirstCycle);
Example #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);
        }
Example #5
0
 private bool UserTookAllBonuses(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode) =>
 userDailyBonusNode.userDailyBonusReceivedRewards.ReceivedRewards.Count.Equals(this.GetCycle(userDailyBonusNode, dailyBonusConfigNode).DailyBonuses.Length);
Example #6
0
 public void UpdateViewInNextFrame(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode)
 {
     this.userDailyBonusNode   = userDailyBonusNode;
     this.dailyBonusConfigNode = dailyBonusConfigNode;
     this.needUpdate           = true;
 }
Example #7
0
 public void UpdateView(DailyBonusScreenSystem.UserDailyBonusNode userDailyBonusNode, DailyBonusScreenSystem.DailyBonusConfig dailyBonusConfigNode)
 {
     this.userDailyBonusNode   = userDailyBonusNode;
     this.dailyBonusConfigNode = dailyBonusConfigNode;
     this.UpdateView();
 }
Example #8
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);
                    }
                }
            }
        }