예제 #1
0
        protected void createItemGroup(T[] items, ItemGroup.LockedState lockedState, int level, SpriteContentKey mascotIconContentKey, RewardThemeDefinition themeDefinition, bool displayBeforeUnlocks = false)
        {
            if (spacingRulesMap.ContainsKey(items.Length))
            {
                items = spacingRulesMap[items.Length].CreateSpacing(items);
            }
            ItemGroup itemGroup = new ItemGroup(items, lockedState);

            setUpItemGroup(itemGroup, level, mascotIconContentKey, themeDefinition);
            if (lockedState != 0)
            {
                if (displayBeforeUnlocks)
                {
                    lastUnlockedIndex++;
                    itemGroups.Insert(0, itemGroup);
                }
                else
                {
                    itemGroups.Add(itemGroup);
                }
            }
            else
            {
                lastUnlockedIndex++;
                itemGroups.Insert(lastUnlockedIndex, itemGroup);
            }
        }
예제 #2
0
        private void parseRewardDefinition(T[] unlocks, bool isMember, SpriteContentKey mascotIconContentKey, RewardThemeDefinition themeDefinition)
        {
            T[] array = filterDefinitions(unlocks);
            if (array == null || array.Length <= 0)
            {
                return;
            }
            bool flag  = false;
            bool flag2 = false;

            for (int i = 0; i < array.Length; i++)
            {
                if (!progressionService.IsUnlocked(array[i], UnlockCategory))
                {
                    flag = true;
                }
                if (!isMember && array[i].IsMemberOnly)
                {
                    flag2 = true;
                    break;
                }
            }
            ItemGroup.LockedState lockedState = (flag2 ? ItemGroup.LockedState.MemberLocked : (flag ? ItemGroup.LockedState.MascotLocked : ItemGroup.LockedState.Unlocked));
            addItems(array, lockedState, -1, mascotIconContentKey, themeDefinition);
            removeUnlocksFromRewardSet(array);
        }
예제 #3
0
        protected void refreshGroupItems(int index, T[] items, ItemGroup.LockedState lockedState)
        {
            ItemGroup itemGroup = itemGroups[index];

            itemGroup.Items = items;
            itemGroup.State = lockedState;
            layoutElementPool.RefreshElement(index, itemGroup.Items.Length);
        }
예제 #4
0
 private void addItems(T[] items, ItemGroup.LockedState lockedState, int level, SpriteContentKey mascotIconContentKey = null, RewardThemeDefinition themeDefinition = null)
 {
     if (!GroupAllUnlockedItems || lockedState != 0)
     {
         createItemGroup(items, lockedState, level, mascotIconContentKey, themeDefinition);
     }
     else
     {
         unlockedItemsList.AddRange(items);
     }
 }
예제 #5
0
        protected override void parseItemGroups()
        {
            ItemGroup.LockedState  lockedState          = ItemGroup.LockedState.CustomLocked;
            List <EmoteDefinition> emoteDefinitionsList = recentEmoteService.GetEmoteDefinitionsList();

            if (emoteDefinitionsList.Count > 0)
            {
                recentEmotesArray[0] = recentEmoteIcon;
                emoteDefinitionsList.CopyTo(recentEmotesArray, 1);
                lockedState = ItemGroup.LockedState.Unlocked;
            }
            tempRecentEmotesList = emoteDefinitionsList;
            createItemGroup(recentEmotesArray, lockedState, -1, null, null, displayBeforeUnlocks: true);
            base.parseItemGroups();
        }
예제 #6
0
 private void spawnAndCreateItem(T itemDefinition, Transform parent, ItemGroup.LockedState lockedState)
 {
     if ((UnityEngine.Object)itemDefinition != (UnityEngine.Object)null)
     {
         GameObject    gameObject    = itemPool.Spawn();
         RectTransform rectTransform = gameObject.transform as RectTransform;
         rectTransform.SetParent(parent, worldPositionStays: false);
         rectTransform.anchoredPosition = Vector2.zero;
         rectTransform.anchorMin        = Vector2.zero;
         rectTransform.anchorMax        = Vector2.one;
         rectTransform.sizeDelta        = Vector2.zero;
         rectTransform.localScale       = Vector3.one;
         createItem(itemDefinition, gameObject, lockedState);
     }
 }
예제 #7
0
 protected override void createItem(PropDefinition itemDefinition, GameObject item, ItemGroup.LockedState lockedState)
 {
     item.GetComponent <GearInventoryButton>().Init(itemDefinition);
 }
 protected override void createItem(TubeDefinition itemDefinition, GameObject item, ItemGroup.LockedState lockedState)
 {
     item.GetComponent <TubeInventoryButton>().SetTubeDefinition(itemDefinition);
 }
예제 #9
0
    protected override void createItem(DecalDefinition itemDefinition, GameObject item, ItemGroup.LockedState lockedState)
    {
        CustomizationButton component = item.GetComponent <CustomizationButton>();
        bool canDrag = lockedState == ItemGroup.LockedState.Unlocked;
        Texture2DContentKey fabricPath = EquipmentPathUtil.GetFabricPath(itemDefinition.AssetName);

        component.Init(fabricPath, BreadcrumbType, itemDefinition.Id, canDrag);
    }
예제 #10
0
        protected override void createItem(EmoteDefinition itemDefinition, GameObject item, ItemGroup.LockedState lockedState)
        {
            ChatEmoteItem component = item.GetComponent <ChatEmoteItem>();

            component.SetEmote(itemDefinition);
        }
예제 #11
0
 protected abstract void createItem(T itemDefinition, GameObject item, ItemGroup.LockedState lockedState);