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