/// <summary> /// Colors Button event handler /// </summary> public void ColorsClick() { Cleanup(); foreach (UMA.OverlayColorData ocd in Avatar.CurrentSharedColors) { GameObject go = GameObject.Instantiate(ColorPrefab); AvailableColorsHandler ch = go.GetComponent <AvailableColorsHandler>(); SharedColorTable currColors = ClothingColor; if (ocd.name.ToLower() == "skin") { currColors = SkinColor; } else if (ocd.name.ToLower() == "hair") { currColors = HairColor; } else if (ocd.name.ToLower() == "eyes") { currColors = EyesColor; } ch.Setup(Avatar, ocd.name, WardrobePanel, currColors); Text txt = go.GetComponentInChildren <Text>(); txt.text = ocd.name; go.transform.SetParent(SlotPanel.transform); } }
public void Setup(DynamicCharacterAvatar avatar, string colorName, GameObject colorPanel, SharedColorTable colorTable) { ColorName = colorName; Avatar = avatar; ColorPanel = colorPanel; Colors = colorTable; }
public void SetUpColorDropdownOptions(CSColorChangerDD colorDropdown, SharedColorTable colorTable, int colorTableSelected, OverlayColorData activeColor) { var thisDD = colorDropdown.gameObject.GetComponent <DropdownWithColor>(); thisDD.ClearOptions(); thisDD.onValueChanged.RemoveAllListeners(); Color selectedColor = activeColor.color; var colorBlack = new Color(0, 0, 0, 0); bool selectedColorFound = false; for (int i = 0; i < colorTable.colors.Length; i++) { var thisddOption = new DropdownWithColor.OptionData(); thisddOption.text = colorTable.colors[i].name; thisddOption.color = colorTable.colors[i].color; Sprite spriteToUse = genericColorSwatch; if (colorTable.colors[i].channelAdditiveMask.Length >= 3) { if (colorTable.colors[i].channelAdditiveMask[2] != colorBlack) { spriteToUse = genericColorSwatchMetallic; } } if (i == colorTableSelected) { selectedColorFound = true; selectedColor = colorTable.colors[i].color; } thisddOption.image = spriteToUse; thisDD.options.Add(thisddOption); } if (selectedColorFound) { thisDD.value = colorTableSelected; thisDD.captionImage.color = selectedColor; } else { var thisddOption = new DropdownWithColor.OptionData(); thisddOption.text = colorTable.colors[0].name; thisddOption.color = activeColor.color; Sprite spriteToUse = genericColorSwatch; /*if (activeColor.MetallicGloss != colorBlack) * { * spriteToUse = genericColorSwatchMetallic; * }*/ if (activeColor.channelAdditiveMask.Length >= 3) //if (activeColor.MetallicGloss != colorBlack) { spriteToUse = genericColorSwatchMetallic; } thisddOption.image = spriteToUse; thisDD.options.Add(thisddOption); thisDD.value = colorTable.colors.Length + 1; } thisDD.RefreshShownValue(); thisDD.onValueChanged.AddListener(colorDropdown.ChangeColor); }
public void Setup(DynamicCharacterAvatar avatar, string colorName, GameObject colorPanel, SharedColorTable colorTable) { //Debug.Log("AvailableColorsHandler.Setup(): colorPanel.name: " + colorPanel.name); ColorName = colorName; Avatar = avatar; ColorPanel = colorPanel; Colors = colorTable; Cleanup(); AddRemoverButton(); foreach (OverlayColorData ocd in Colors.colors) { AddButton(ocd); } }
public void SetUpColorDropdownValue(CSColorChangerDD colorDropdown, OverlayColorData colorType) { if (GenericColorList == null) { if (Debug.isDebugBuild) { Debug.LogWarning("[TestCustomizerDD] the GenericColorList was null or missing, this must be set."); } return; } int colorTableSelected = -1; SharedColorTable thisColorTable = null; if (sharedColorTables.FindIndex(s => s.name == colorType.name) > -1) { thisColorTable = sharedColorTables[sharedColorTables.FindIndex(s => s.name == colorType.name)].sharedColorTable; if (thisColorTable == null) { if (Debug.isDebugBuild) { Debug.LogWarning("[TestCustomizerDD] the colorList for " + colorType.name + " was null or missing, please set this or remove it from the list."); } return; } for (int i = 0; i < thisColorTable.colors.Length; i++) { if (ColorToHex(thisColorTable.colors[i].color) == ColorToHex(colorType.color)) { colorTableSelected = i; break; } } } else { thisColorTable = GenericColorList; for (int i = 0; i < GenericColorList.colors.Length; i++) { if (ColorToHex(GenericColorList.colors[i].color) == ColorToHex(colorType.color)) { colorTableSelected = i; break; } } } SetUpColorDropdownOptions(colorDropdown, thisColorTable, colorTableSelected, colorType); }