private IEnumerator WaitForUIToUpdate(CatalogUIEvents.ShowItemsForThemeEvent evt)
        {
            yield return(new WaitForSeconds(0.1f));

            tints = Service.Get <CatalogServiceProxy>().themeColors.GetColorsByIndex(Service.Get <CatalogServiceProxy>().CurrentThemeIndex);
            clothingCatalogItemId = evt.ClothingCatalogItemId;
            if (clothingCatalogItemId != -1)
            {
                SubmissionCompletePanel.gameObject.SetActive(value: true);
                SubmissionCompletePanel.EquipSubmittedItem();
                CoroutineRunner.Start(PlayCoinsAnimation(), this, "PlayCoinsAnimation");
                Service.Get <CatalogServiceProxy>().cache.ClearCache();
            }
            shopScroller.ClearData();
            isSubNavSetForCurrentList = false;
            Model.State    = CatalogState.ItemsView;
            subNavCategory = "All";
            currentTheme   = evt.Theme;
            if (!isNavInited)
            {
                Service.Get <CatalogServiceProxy>().GetCatalogItemsByRecent(currentTheme.scheduledThemeChallengeId);
            }
            else
            {
                CatalogContext.EventBus.DispatchEvent(default(CatalogUIEvents.SelectCategoryButtonAll));
            }
        }
示例#2
0
    private void loadCatalogDaily(CurrentThemeData currentTheme)
    {
        CatalogThemeDefinition themeByScheduelId        = Service.Get <CatalogServiceProxy>().GetThemeByScheduelId(currentTheme.scheduledThemeChallengeId);
        TaskDefinition         clothingCatalogChallenge = Service.Get <TaskService>().ClothingCatalogChallenge;

        clothingCatalogChallenge.Title             = themeByScheduelId.Title;
        clothingCatalogChallenge.CompletionMessage = themeByScheduelId.CompleteMessage;
        clothingCatalogChallenge.Description       = themeByScheduelId.Description;
    }
    private bool onShowSubmittedInCatalog(ClothingDesignerUIEvents.ShowSubmittedInCatalog evt)
    {
        dependencies.ScreenContent.SetActive(value: false);
        dependencies.CatalogContainer.SetActive(value: true);
        CatalogContext.EventBus.DispatchEvent(new CatalogModelEvents.CatalogStateChanged(CatalogState.ItemsView));
        CurrentThemeData currentThemeData = Service.Get <CatalogServiceProxy>().GetCurrentThemeData();

        CatalogContext.EventBus.DispatchEvent(new CatalogUIEvents.ShowItemsForThemeEvent(currentThemeData, evt.ClothingCatalogItemSubmittedId));
        return(false);
    }
示例#4
0
 private bool onThemesRetrieved(CatalogServiceProxyEvents.ChallengesReponse evt)
 {
     eventChannel.RemoveListener <CatalogServiceProxyEvents.ChallengesReponse>(onThemesRetrieved);
     eventChannel.RemoveListener <WorldServiceEvents.SelfRoomJoinedEvent>(onRoomJoined);
     if (evt.Themes.Count > 0)
     {
         CurrentThemeData       currentThemeData         = evt.Themes[0];
         CatalogThemeDefinition themeByScheduelId        = Service.Get <CatalogServiceProxy>().GetThemeByScheduelId(currentThemeData.scheduledThemeChallengeId);
         TaskDefinition         clothingCatalogChallenge = Service.Get <TaskService>().ClothingCatalogChallenge;
         clothingCatalogChallenge.Title             = themeByScheduelId.Title;
         clothingCatalogChallenge.CompletionMessage = themeByScheduelId.CompleteMessage;
         clothingCatalogChallenge.Description       = themeByScheduelId.Description;
     }
     return(false);
 }
示例#5
0
        private bool onThemes(CatalogServiceEvents.CurrentThemesRetrievedEvent evt)
        {
            themeColors.SetIndex();
            List <CurrentThemeData> themes = evt.Response.themes;

            if (themes != null && themes.Count > 0)
            {
                activeThemeScheduleId = themes[0].scheduledThemeChallengeId;
                currentThemeData      = themes[0];
            }
            CatalogCacheData cacheDataById = cache.GetCacheDataById("CatalogThemeCacheId");

            cacheDataById.Data = themes;
            cache.SetCatalogCacheData("CatalogThemeCacheId", cacheDataById);
            Service.Get <EventDispatcher>().DispatchEvent(new CatalogServiceProxyEvents.ChallengesReponse(themes));
            return(false);
        }
        private void addChallengeItem(int currentThemeDataIndex)
        {
            GameObject gameObject = UnityEngine.Object.Instantiate(ChallengeItem);

            gameObject.transform.SetParent(scrollRectContent, worldPositionStays: false);
            CatalogChallengeItem component = gameObject.GetComponent <CatalogChallengeItem>();

            component.SetChallengeTheme(themes[currentThemeDataIndex], currentThemeDataIndex);
            CatalogItemIcon  component2       = gameObject.GetComponent <CatalogItemIcon>();
            CurrentThemeData currentThemeData = themes[currentThemeDataIndex];

            if (currentThemeData.mostPopularItem.HasValue)
            {
                DCustomEquipment equipment     = CustomEquipmentResponseAdaptor.ConvertResponseToCustomEquipment(currentThemeData.mostPopularItem.Value.equipment);
                Color[]          colorsByIndex = Service.Get <CatalogServiceProxy>().themeColors.GetColorsByIndex(currentThemeDataIndex);
                AbstractImageBuilder.CallbackToken callbackToken = default(AbstractImageBuilder.CallbackToken);
                callbackToken.Id           = ((equipment.Id == 0) ? currentThemeData.mostPopularItem.Value.clothingCatalogItemId : equipment.Id);
                callbackToken.DefinitionId = equipment.DefinitionId;
                base.itemImageBuilder.RequestImage(equipment, component2.SetIcon, callbackToken, Color.clear, colorsByIndex[0]);
            }
        }
 public void SetChallengeTheme(CurrentThemeData theme, int index)
 {
     themeIndex            = index;
     currentThemeData      = theme;
     catalogChallengeTheme = Service.Get <CatalogServiceProxy>().GetThemeByScheduelId(theme.scheduledThemeChallengeId);
     Color[] colorsByIndex = Service.Get <CatalogServiceProxy>().themeColors.GetColorsByIndex(index);
     if (ButtonImage != null)
     {
         ButtonImage.color = colorsByIndex[0];
     }
     if (BackgroundImage != null)
     {
         BackgroundImage.color = colorsByIndex[1];
     }
     if (CreatorButton != null && CreatorText != null)
     {
         CreatorButton.gameObject.SetActive(value: false);
         if (theme.mostPopularItem.HasValue)
         {
             CreatorButton.gameObject.SetActive(value: true);
             CreatorText.text = theme.mostPopularItem.Value.creatorName;
         }
     }
     if (ThemeTitleText != null)
     {
         ThemeTitleText.text = Service.Get <Localizer>().GetTokenTranslation(catalogChallengeTheme.Title);
     }
     if (TopSellerTitleText != null)
     {
         TopSellerTitleText.enabled = false;
         if (theme.mostPopularItem.HasValue)
         {
             TopSellerTitleText.enabled = true;
         }
     }
 }
示例#8
0
 public ShowItemsForThemeEvent(CurrentThemeData theme, long clothingCatalogItemId = -1L)
 {
     Theme = theme;
     ClothingCatalogItemId = clothingCatalogItemId;
 }
        private void PopulateChallengeData(CurrentThemeData currentTheme)
        {
            bool flag = ((currentTheme.userSubmissionClothingCatalogId != 0) ? true : false);

            GoButton.SetActive(!flag);
            SubmittedButton.SetActive(flag);
            Button component = GoButton.transform.parent.GetComponent <Button>();

            if (component != null)
            {
                component.enabled = !flag;
            }
            CatalogThemeDefinition themeByScheduelId = Service.Get <CatalogServiceProxy>().GetThemeByScheduelId(currentTheme.scheduledThemeChallengeId);
            bool flag2 = Service.Get <CPDataEntityCollection>().IsLocalPlayerMember();

            if (themeByScheduelId == null)
            {
                ChallengeMemberLock.transform.parent.gameObject.SetActive(value: false);
                return;
            }
            if (flag2)
            {
                ProgressionService progressionService = Service.Get <ProgressionService>();
                int level = progressionService.Level;
                int num   = 0;
                Dictionary <int, TemplateDefinition> dictionary = Service.Get <GameData>().Get <Dictionary <int, TemplateDefinition> >();
                TagDefinition[]           templateTags          = themeByScheduelId.TemplateTags;
                List <TemplateDefinition> list = new List <TemplateDefinition>();
                foreach (TagDefinition value in templateTags)
                {
                    for (int j = 0; j < dictionary.Values.Count; j++)
                    {
                        TemplateDefinition templateDefinition = dictionary.Values.ToList()[j];
                        if (templateDefinition.Tags.Contains(value) && list.IndexOf(templateDefinition) < 0)
                        {
                            list.Add(templateDefinition);
                        }
                    }
                }
                for (int i = 0; i < list.Count; i++)
                {
                    int unlockLevelFromDefinition = progressionService.GetUnlockLevelFromDefinition(list[i], ProgressionUnlockCategory.equipmentTemplates);
                    if (unlockLevelFromDefinition < num)
                    {
                        num = unlockLevelFromDefinition;
                    }
                }
                ChallengeProgressionLock.SetActive(value: false);
                if (num > level)
                {
                    ChallengeProgressionLock.SetActive(value: true);
                    if (ChallengeProgressionLockText != null)
                    {
                        ChallengeProgressionLockText.text = Service.Get <Localizer>().GetTokenTranslation(num.ToString());
                    }
                }
            }
            else
            {
                ChallengeMemberLock.SetActive(value: false);
                if (ChallengeMemberLock != null)
                {
                    ChallengeMemberLock.SetActive(value: true);
                }
            }
            setBillboardTheme(themeByScheduelId);
            DateTime dateTime = Service.Get <ContentSchedulerService>().PresentTime();
            int      hours    = 24 - dateTime.Hour - 1;
            int      minutes  = 60 - dateTime.Minute - 1;
            int      seconds  = 60 - dateTime.Second - 1;
            TimeSpan timeSpan = new TimeSpan(hours, minutes, seconds);

            endTime        = DateTime.Now + timeSpan;
            isTimerRunning = true;
        }