public CollectionItemSelectionHandler(Inventory inventory, ToggleGroup toggleGroup, string equipmentSlot, Equipment equipment, CollectionPreviewer collectionPreviewer) { _inventory = inventory; _toggleGroup = toggleGroup; _toggleGroup.allowSwitchOff = false; _equipment = equipment; _equippedItem .Skip(1) .Subscribe(item => equipment.EquipItem(equipmentSlot, item)); collectionPreviewer.RegisterPreviewSelectionHandler(equipmentSlot, this); }
public void Initialize(Equipment equipment, CollectionPreviewer collectionPreviewer) { _equipment = equipment; CollectionItemSelectionHandler = new CollectionItemSelectionHandler(_inventory, _toggleGroup, _equipmentSlot, equipment, collectionPreviewer); CollectionPurchaseController = new CollectionPurchaseController(); var idx = 0; foreach (var collectionPage in _collectionPages) { var p = idx; _scrollSnap.AddChild(collectionPage.gameObject); _scrollSnap.OnSelectionPageChangedEvent.AddListener((page) => { if (_equipmentSlot != "Trail") { if (page == p) { collectionPage.OnFocused(); } else { collectionPage.OnUnfocused(); } } }); collectionPage.Initialize(CollectionItemSelectionHandler, CollectionPurchaseController); idx++; } var equippedItem = _equipment.GetItem(_equipmentSlot); //CollectionItemSelectionHandler.SelectItem(equippedItem); for (int i = 0; i < _paginations.Count; i++) { _paginations[i].gameObject.SetActive(i < _collectionPages.Count); } }