Esempio n. 1
0
    private void AddPartButtons(WorkshopItemType part, string prefix)
    {
        if (RagdollPresetPartMetadata.IsEmpty(CustomizationController.instance.activeCustomization.preset.GetPart(part)))
        {
            return;
        }
        RagdollModel model = CustomizationController.instance.activeCustomization.GetModel(part);

        if (!(model == null))
        {
            if (model.mask1)
            {
                AddChannelButton(part, 1, string.Format(prefix, 1));
            }
            if (model.mask2)
            {
                AddChannelButton(part, 2, string.Format(prefix, 2));
            }
            if (model.mask3)
            {
                AddChannelButton(part, 3, string.Format(prefix, 3));
            }
            if (channelButtons.Count > 9)
            {
                title.gameObject.SetActive(value: false);
                buttons.pivot = new Vector2(0f, 0.3f);
            }
            else
            {
                title.gameObject.SetActive(value: true);
                buttons.pivot = new Vector2(0f, 0.4f);
            }
        }
    }
    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);
        }
    }
 private bool MatchesPart(RagdollPresetPartMetadata partRef, WorkshopItemMetadata part)
 {
     if (RagdollPresetPartMetadata.IsEmpty(partRef))
     {
         return(RagdollPresetPartMetadata.IsEmpty(part.folder));
     }
     return(partRef.modelPath == part.folder);
 }
    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);
    }
Esempio n. 5
0
    private void AddPartButtons(WorkshopItemType part, string prefix)
    {
        if (RagdollPresetPartMetadata.IsEmpty(CustomizationController.instance.activeCustomization.preset.GetPart(part)))
        {
            return;
        }
        RagdollModel model = CustomizationController.instance.activeCustomization.GetModel(part);

        if (!(model == null))
        {
            if (model.mask1)
            {
                AddChannelButton(part, 1, string.Format(prefix, 1));
            }
            if (model.mask2)
            {
                AddChannelButton(part, 2, string.Format(prefix, 2));
            }
            if (model.mask3)
            {
                AddChannelButton(part, 3, string.Format(prefix, 3));
            }
        }
    }