Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }