public void Fill(NodeAddedEvent e, ReleaseGiftsNotificationNode notification, SingleNode <ReleaseGiftsPopup> popup, [JoinAll] UserNode user, [JoinAll] Optional <SingleNode <WindowsSpaceComponent> > screens) { ReleaseGiftsPopup popup2 = popup.component; popup2.itemsContainer.DestroyChildren(); int num = 0; foreach (KeyValuePair <long, int> pair in notification.releaseGiftsNotification.Reward) { popup2.itemPrefab.GetComponent <AnimationTriggerDelayBehaviour>().dealy = (num + 1) * popup2.itemsShowDelay; ReleaseGiftItemComponent component = Object.Instantiate <ReleaseGiftItemComponent>(popup2.itemPrefab, popup2.itemsContainer, false); Entity entity = Flow.Current.EntityRegistry.GetEntity(pair.Key); int num2 = pair.Value; component.preview.SpriteUid = entity.GetComponent <ImageItemComponent>().SpriteUid; bool flag = num2 > 1; component.text.text = entity.GetComponent <DescriptionItemComponent>().Name + (!flag ? string.Empty : " x"); component.gameObject.SetActive(true); if (flag) { component.count.Value = num2; } else { component.count.gameObject.SetActive(false); } num++; } popup2.Show(!screens.IsPresent() ? new List <Animator>() : screens.Get().component.Animators); }
public void Fill(NodeAddedEvent e, SingleNode <LoginRewardDialog> popup, [Combine] LoginRewardsNotificationNode notification, [JoinAll] UserNode user, [JoinAll] Optional <SingleNode <WindowsSpaceComponent> > screens) { int currentDay = notification.loginRewardsNotification.CurrentDay; LoginRewardDialog dialog = popup.component; if (dialog.allItems.currentDay <= currentDay) { dialog.allItems.Clear(); int num2 = 0; foreach (KeyValuePair <long, int> pair in notification.loginRewardsNotification.Reward) { Entity entity = Flow.Current.EntityRegistry.GetEntity(pair.Key); if (!entity.HasComponent <PremiumQuestItemComponent>()) { dialog.itemPrefab.GetComponent <AnimationTriggerDelayBehaviour>().dealy = (num2 + 1) * dialog.itemsShowDelay; ReleaseGiftItemComponent component = Object.Instantiate <ReleaseGiftItemComponent>(dialog.itemPrefab, dialog.itemsContainer, false); dialog.marketItems.Add(entity); int num3 = pair.Value; component.preview.SpriteUid = entity.GetComponent <ImageItemComponent>().SpriteUid; bool flag = num3 > 1; component.text.text = dialog.GetRewardItemName(entity); if (entity.HasComponent <PremiumBoostItemComponent>()) { component.text.text = string.Format(component.text.text, num3); flag = false; } component.gameObject.SetActive(true); if (flag) { component.count.Value = num3; } else { component.count.gameObject.SetActive(false); } num2++; } } Dictionary <int, List <LoginRewardItem> > allRewards = new Dictionary <int, List <LoginRewardItem> >(); foreach (LoginRewardItem item in notification.loginRewardsNotification.AllReward) { if (allRewards.ContainsKey(item.Day)) { allRewards[item.Day].Add(item); continue; } List <LoginRewardItem> list = new List <LoginRewardItem> { item }; allRewards[item.Day] = list; } popup.component.allItems.InitItems(allRewards, currentDay); dialog.Show(!screens.IsPresent() ? new List <Animator>() : screens.Get().component.Animators); } }