private void OnSelect(ListViewItem item) { CustomizationSelectModelMenuItem customizationSelectModelMenuItem = item as CustomizationSelectModelMenuItem; if (selectedMenuItem != null) { selectedMenuItem.SetActive(active: false); } selectedMenuItem = customizationSelectModelMenuItem; selectedMenuItem.SetActive(active: true); RagdollModelMetadata ragdollModelMetadata = item.data as RagdollModelMetadata; if (selectedItem == null || !ragdollModelMetadata.folder.Equals(selectedItem.folder)) { selectedItem = ragdollModelMetadata; if (RagdollPresetPartMetadata.IsEmpty(selectedItem.folder)) { CustomizationController.instance.SetPart(part, null); return; } RagdollPresetPartMetadata ragdollPresetPartMetadata = new RagdollPresetPartMetadata(); ragdollPresetPartMetadata.modelPath = selectedItem.folder; RagdollPresetPartMetadata data = ragdollPresetPartMetadata; CustomizationController.instance.SetPart(part, data); } }
public override void OnGotFocus() { base.OnGotFocus(); CustomizationController.instance.cameraController.FocusPart(part); characterTitle.SetActive(part == WorkshopItemType.ModelFull); headTitle.SetActive(part == WorkshopItemType.ModelHead); upperBodyTitle.SetActive(part == WorkshopItemType.ModelUpperBody); lowerBodyTitle.SetActive(part == WorkshopItemType.ModelLowerBody); list.onSelect = OnSelect; list.onPointerClick = OnPointerClick; list.onSubmit = OnSubmit; selectedItem = null; partBackup = CustomizationController.instance.GetPart(part); RagdollModelMetadata ragdollModelMetadata = null; List <RagdollModelMetadata> partRepository = WorkshopRepository.instance.GetPartRepository(part); for (int i = 0; i < partRepository.Count; i++) { if (MatchesPart(partBackup, partRepository[i])) { selectedItem = partRepository[i]; } if (RagdollPresetPartMetadata.IsEmpty(partRepository[i].folder)) { ragdollModelMetadata = partRepository[i]; } } if (selectedItem == null) { selectedItem = ragdollModelMetadata; } int num = partRepository.IndexOf(selectedItem); list.Bind(partRepository); if (num >= 0) { list.FocusItem(num); } PageLeftButton.SetActive(list.isCarousel); PageRightButton.SetActive(list.isCarousel); }