using TMPro; using UnityEngine; using UnityEngine.UI; public class ColorCHART : MonoBehaviour { public GameObject _PresetContent; public GameObject _BtnPreset; public GameObject _ButtonImage; public GameObject _Chart; public GameObject _ColorPicker; public GameObject _Background; public GameObject _Bouton; [SerializeField] ColorCode _col; public void ShowPicker() { _Chart.SetActive(true); _Chart.transform.SetParent(_ColorPicker.transform); _Chart.transform.localPosition=new Vector3(-130,0,0); bool finish=true; if(transform.parent.name=="ColorPickerTexture"){ finish=false;} if(transform.parent.name=="ColorPickerGrouth"){ finish=false;} Transform colorChart = this.transform.parent.gameObject.transform.Find("COLOR_CHART"); colorChart.Find("Finish").gameObject.SetActive(finish); Color colbtn=this.transform.Find("Image").GetComponent().color; var text= colorChart.GetComponentInChildren(); text.text=ColorUtility.ToHtmlStringRGB(colbtn); if(_G.PON=="UNIVERSALpnl" || _G.PON=="MOLDINGpnl" || _G.PON=="PANELpnl" || _G.PON=="TEXTUREPNL" || _G.PON=="CABDOORpnl"){ Get.o2("COLOR_CHART","Finish").SetActive(false); } else Get.o2("COLOR_CHART","Finish").SetActive(true); } public void PresetMetal(string path){ addPreset(_C._colorCode[ColorCode.White_Metal]); addPreset(_C._colorCode[ColorCode.Black_Metal]); addPreset(_C._colorCode[ColorCode.Grey_Metal]); addPreset(_C._colorCode[ColorCode.Gold_Metal]); addPreset(_C._colorCode[ColorCode.Brass_Metal]); addPreset(_C._colorCode[ColorCode.Copper_Metal]); addPreset(_C._colorCode[ColorCode.White_Gloss]); addPreset(_C._colorCode[ColorCode.Black_Gloss]); addPreset(_C._colorCode[ColorCode.Grey_Gloss]); Set.ToggleGroupToAllChild( path+"/COLOR_CHART/Presets/Viewport/Content" ); Set.ToggleGroupToAllChild( path+"/COLOR_CHART/Finish" ); } public void PresetPorcelain(string path){ addPreset(_C._colorCode[ColorCode.White_Gloss]); addPreset(_C._colorCode[ColorCode.Black_Gloss]); addPreset(_C._colorCode[ColorCode.Grey_Gloss]); addPreset(_C._colorCode[ColorCode.Red_Gloss]); addPreset(_C._colorCode[ColorCode.Gold_Metal]); addPreset(_C._colorCode[ColorCode.White_Metal]); addPreset(_C._colorCode[ColorCode.White_Matt]); addPreset(_C._colorCode[ColorCode.Black_Matt]); addPreset(_C._colorCode[ColorCode.Grey_Matt]); Set.ToggleGroupToAllChild( path+"/COLOR_CHART/Presets/Viewport/Content" ); Set.ToggleGroupToAllChild( path+"/COLOR_CHART/Finish" ); } public void HidePicker() { this.transform.parent.gameObject.SetActive(false); } public void addPreset(string name) { GameObject But = Instantiate(_BtnPreset); But.transform.SetParent(_PresetContent.transform,false); But.SetActive(true); But.name=name; string[] Name=name.Split("_"); //set image on btn Sprite BG = Resources.Load("ICONS/COLOR_BUTTON/"+Name[1]); But.transform.Find("Background").gameObject.GetComponent().sprite=BG; But.transform.Find("Background").gameObject.GetComponent().color=DOIT.CSc(Name[0],255); } public void PresetClick() { print(name); string[] Name=name.Split("_"); Sprite BG = Resources.Load("ICONS/COLOR_BUTTON/"+Name[1]); GameObject ButtonImage=Get.o1(this.transform.parent.parent.parent.parent.parent.name).transform.GetChild(0).transform.Find("Image").gameObject; ButtonImage.GetComponent().sprite=BG; ButtonImage.GetComponent().color=DOIT.CSc(Name[0],255); Get.o1("COLOR_CHART").gameObject.SetActive(false); } public void FinishClick() { Sprite BG = Resources.Load("ICONS/COLOR_BUTTON/"+name); Get.o1(this.transform.parent.parent.parent.name).transform.GetChild(0).transform.Find("Image").GetComponent().sprite=BG; } public void SetColorBase(){ _Background.GetComponent().sprite=Resources.Load("Color_Chart/Chart_"+name); Color actColor = _Background.GetComponent().sprite.texture.GetPixel (128,128); _G.pickedColor = actColor; _ColorPicker.GetComponent().color=actColor; string CP=_Chart.transform.parent.name;//ColorPickername for texture string Chart=_Chart.transform.parent.name;//_Chart ColorPickername for Cabtexture string path; print("CP=="+CP); _Chart.transform.parent.transform.Find("Button/Image").GetComponent().color=actColor;//add color to image if(_G.PON=="TEXTUREPNL"){ if(CP=="ColorPickerTexture"){_G.SC[3]=ColorUtility.ToHtmlStringRGB(actColor);SliderColor.SetOntarget();} if(CP=="ColorPickerGrouth"){_G.SC[4]=ColorUtility.ToHtmlStringRGB(actColor);SliderColor.SetOntarget();} } if(_G.UIT && (_G.PON=="UNIVERSALpnl"|| _G.PON=="MOLDINGpnl" || _G.PON=="PANELpnl")){ path=_G.PON+"/SHOWSELECTION/IMAGE/Image"; Get.o1(path).GetComponent().material.SetColor("_c"+Chart.Split('_')[1],actColor); } if(_G.UIT && _G.PON=="CABDOORpnl" ){ path = _G.PON+"/SHOWSELECTION/DOOR/Imagedoor"; Get.o1(path).GetComponent().GetMaterial().SetColor("_c"+Chart.Split('_')[1],actColor); } if(_G.PON=="CREATORpnl"){ Material M= Get.o2("3D Object Show/Texture","Center").GetComponent().material; string Name=transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.name; M.SetColor(Name, DOIT.CSc(ColorUtility.ToHtmlStringRGB(actColor), 255)); StaticCoroutine.Start( LibraryCreator.RTImageCaroutine( Get.o2("CREATORpnl/SHOWSELECTION/IMAGE","RawImage") )); //Get.o2("CREATORpnl/SHOWSELECTION/IMAGE","RawImage").GetComponent().texture=LibraryCreator.RTImage(); } } public void ClosePicker() { _Chart.SetActive(false); } }