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); } }
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); }
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); }
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); } }
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(); }
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); } }
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); }
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); }
protected override void createItem(EmoteDefinition itemDefinition, GameObject item, ItemGroup.LockedState lockedState) { ChatEmoteItem component = item.GetComponent <ChatEmoteItem>(); component.SetEmote(itemDefinition); }
protected abstract void createItem(T itemDefinition, GameObject item, ItemGroup.LockedState lockedState);