using System.Collections.Generic; //using System.Data; using TMPro; //using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; public class SelectDecoObject : MonoBehaviour { public TMP_Text _W; public TMP_Text _H; public TMP_Text _D; public TMP_Text _FF; public TMP_Text _Ed; public TMP_Text _R; public TMP_Text _C1; public TMP_Text _C2; //public GameObject _ColorPicker2; //public GameObject _ColorPicker1; public GameObject _Wide; public GameObject _Height; public GameObject _Depth; public GameObject _Edge; public GameObject _Radius; public GameObject _FromFloor; public GameObject _Size; public GameObject _Setting; public TMP_Dropdown _CABTEXTURES; public Image _Preview1; public Image _Preview2; public TMP_Dropdown _Finish1; public TMP_Dropdown _Finish2; private string Name; public static SelectDecoObject Instance { get; private set; } public GameObject _ColorPnl_1; public GameObject _ColorPnl_2; public Image Show1; public Image Show2; public TMP_Text _Title1; public TMP_Text _Title2; public GameObject _Bulkheadcut; //Selection click------------------------------------- void Awake() { Instance = this; } public void Select() { if(_G.PON=="DECOpnl"){ _Radius.SetActive(false); _Wide.SetActive(true); _Bulkheadcut.SetActive(false); Name =UIT.TogOn("MODEL"); if(Name.Length<5)return; string ObjectCategory=Name[..4]; bool isActivePicker1=true; bool isActivePicker2=true; _Setting.SetActive(false); DOIT.AllChildOff(_Size); if(ObjectCategory=="FAUC"){} else if(ObjectCategory=="SINK"){ SetMeasure(_Wide,"w",_W); SetMeasure(_Depth,"d",_D); } else{ SetMeasure(_Wide,"w",_W); SetMeasure(_Height,"h",_H); SetMeasure(_Depth,"d",_D); SetMeasure(_FromFloor,"ff",_FF); //if(new List {"MIRR103","MIRR104","MIRR105"}.Contains(Name)){SetMeasure(_Edge,"e",_Ed); isActivePicker2=false;} } if(new List {"TABL","BLOC","ORNA","SINK","FAUC","HOOD"}.Contains(ObjectCategory)){ isActivePicker2=false; } if(new List {"TABL108","TABL109"}.Contains(Name)){ isActivePicker2=true; } if(Name[..4]=="MIRR"){ isActivePicker1=true; isActivePicker2=false; _Edge.SetActive(true); _Setting.SetActive(true); } if(new List {"STOV","FRID","BUIL","OVEN","DISH","CELL","WADR","MICR","OPEN","TOPS"}.Contains(ObjectCategory)){ isActivePicker1=false; isActivePicker2=false; } if(new List {"HOOW","HOOC"}.Contains(ObjectCategory)){ isActivePicker2=false; } _ColorPnl_1.SetActive(isActivePicker1); _ColorPnl_2.SetActive(isActivePicker2); if(new List {"BLOC112","BLOC113","BLOC114"}.Contains(Name)){ _Radius.SetActive(true); } if(new List {"BLOC117"}.Contains(Name)){ _Wide.SetActive(false); _Bulkheadcut.SetActive(true); Set.GlobalColorAndTranslate(); } //From Floor Input bool isFF=false; if(new List{"WIND","PICT"}.Contains(ObjectCategory)){isFF=true;} Get.o2("DECOpnl/SIZE","MoFF").SetActive(isFF); } } public void SetMeasure(GameObject Measure,string letter, TMP_Text T){ Measure.SetActive(true); print("Name===================="+Name); print("Name===================2="+_OL.GetValue(Name,letter)); string l = DOIT.CSssys(_OL.GetValue(Name,letter)); string Value= DOIT.CNs( DOIT.ConvertStringToNumber(l)); T.SetText(Value); // mieux que tmp.text = ... T.ForceMeshUpdate(); // force le rafraîchissement Canvas.ForceUpdateCanvases(); // T.transform.parent.parent.gameObject.GetComponent().text = DOIT.CNs( DOIT.ConvertStringToNumber(l)); //T.text = DOIT.CNs( DOIT.ConvertStringToNumber(l)); //_OL.OBJ[index + 1] + _G.Sys; } public void CabTexturesSelect(){ if(_CABTEXTURES.value==0){ //_FINISH1.SetActive(true); _Preview1.GetComponent().sprite=null; //_Texture1.value=0; } else { //_FINISH1.SetActive(false); _Preview1.GetComponent().sprite=UIT_MATERIAL.GetSprite(GetIDfromDropCabtextures()); _Preview1.GetComponent().color=Color.white; } } //Finish drop selection-------------------------------- public void FinishSelection(string Name){ if(Name=="Finish1"){} if(Name=="Finish2"){} } //Add to Scene------------------------------------- public void Add() { if(_G.PNL.IndexOf("KNOB")==-1) { _G.SC[0]=Get.ToggleOnInChild("DECOpnl/MODEL/Viewport/Content"); if(_G.SC[0]!="") { string Category=_G.SC[0][..4]; switch (Category) { //DECO case "SMAL": AddObject("smal"); break; case "PICT": AddObject("pict"); break; case "STOO": AddObject("stoo"); break; case "LAMP": AddObject("lamp"); break; case "MIRR": AddObject("mirr"); break; case "CHAI": AddObject("chai"); break; case "TABL": AddObject("tabl"); break; case "ORNA": AddObject("orna"); break; //APLIANCES case "FRID": AddObject("frid"); break; case "STOV": AddObject("stov"); break; case "BUIL": AddObject("buil"); break; case "TOPS": AddObject("tops"); break; case "DISH": AddObject("dish"); break; case "HOOW": AddObject("hoow"); break; case "HOOC": AddObject("hooc"); break; case "MICR": AddObject("micr"); break; case "CELL": AddObject("cell"); break; case "WADR": AddObject("wadr"); break; //PLUMBING case "FAUC": AddObject("fauc"); break; case "SINK": AddObject("sink"); break; case "TOIL": AddObject("toil"); break; case "SHOW": AddObject("show"); break; case "BATH": AddObject("bath"); break; case "BASI": AddObject("basi"); break; //DESIGN ROOM case "WIND": AddObject("wind"); break; case "OPEN": AddObject("open"); break; case "PATI": AddObject("pati"); break; case "DOOR": AddObject("door"); break; case "SLID": AddObject("slid"); break; case "SLIS": AddObject("slid"); break; //BLOC case "BLOC": AddObjectBloc("bloc"); break; } } else{_M.PH(1,0,"ffffff",1,1);} } } public void AddObject(string cat) { string C1Hex=GetHexFrondShowColor("SliderColor"); string C2Hex=GetHexFrondShowColor("SliderColor2"); _G.SC[60] = GetColor(cat,C1Hex,_Finish1); _G.SC[61] = GetColor(cat,C2Hex,_Finish2); string InstallTo = "Install"; print("cat==="+cat); if(_G.PON=="DECOpnl") { _G.SC[1] = _W.text; _G.SC[2] = _H.text; _G.SC[3] = _D.text; _G.ff = _FF.text; if(GameObject.Find("mE")){_G.SC[8]=GameObject.Find("mE").GetComponent().text;} if(GameObject.Find("mFF")){_G.SC[21]=GameObject.Find("mFF").GetComponent().text;} if(cat is "pati" or"wind" or "door" ) { _G.SC[23] = "L"; _G.SC[61] = Get.ToggleOnInChild("DECOpnl/MOLDING"); _G.SC[62] = GetColor(cat,C1Hex,_Finish1); _G.SC[63] = GetColor(cat,C2Hex,_Finish2); if(cat is "pati" ){ _G.SC[23] = "2"; _G.SC[5] = Get.ToggleOnInChild("DECOpnl/MOLDING"); } } else if(cat =="mirr"){ _G.SC[62] = "none"; _G.SC[63] = "none"; if(Get.IsTogOn(Get.o2("DECOpnl/Setting", "BackLight")))_G.SC[62] = "BackLight?1"; if(Get.IsTogOn(Get.o2("DECOpnl/Setting", "Line Light")))_G.SC[63] = "LineLight?0"; } else if(cat =="slid"){ _G.SC[62] = GetColor(cat,C1Hex,_Finish1); _G.SC[63] = GetColor(cat,C2Hex,_Finish2); } else if(cat is "hoow" or "hooc" ) { _G.SC[61] = GetColor(cat,C1Hex,_Finish1); } else if(cat is "sink" or "fauc") { _G.SC[1] = _W.text; _G.SC[2] = _D.text; InstallTo ="InstallOnCab"; } AddtoScene(cat,InstallTo); } else if(_G.PON=="KNOB") {UIT_KNOB.Add();} } public void AddObjectBloc(string cat) { _G.SC[1] = _W.text; _G.SC[2] = _H.text; _G.SC[3] = _D.text; _G.ff = _FF.text; if(Get.Bool(_G.SC[0],"BLOC112_BLOC113_BLOC114")) { _G.SC[9]=DOIT.CSss( Get.o2("DECOpnl/SIZE/MoR/Btn Mesure","mRadius").GetComponent().text); } //Bulkhead Cut _G.SC[70] = "n"; _G.SC[71] = "n"; if(Get.Bool(_G.SC[0],"BLOC117")) { if(_Bulkheadcut.transform.Find("Left").GetComponent().isOn==true){_G.SC[70] = "y";} if(_Bulkheadcut.transform.Find("Right").GetComponent().isOn==true){_G.SC[71] = "y";} } //Color if(_CABTEXTURES.value==0){ //_G.SC[4]=GetColor(cat,_C1.text,_Finish1); string C1Hex=ColorUtility.ToHtmlStringRGB(Get.o2("DECOpnl/SliderColor","Show").GetComponent().color); _G.SC[4] = GetColor(cat, C1Hex, _Finish1); } else{ _G.SC[4] = GetIDfromDropCabtextures(); } AddtoScene(cat, "Install"); _Add.Texture(_G.SC[4]); } public void AddtoScene(string cat, string mode) { DOIT.CloseALLPNL(); _M.PH(3, 230, "ffffff", 1, 1); PAINT.SEL = "ON"; if (mode == "Install") SceneModeManager.Instance.SetSceneMode(SceneModes.Install); else SceneModeManager.Instance.SetSceneMode(SceneModes.InstallOnCab); _G.addOBJ = cat; if (Get.PreferenceBool("AI")) { AiButton.Instance.GetButtonGoNext().SetActive(true); AiButton.Instance.GetPlus().SetActive(true); } } //Get------------------------------------- public string GetHexFrondShowColor(string SliderColor) { GameObject ColorShow = Get.o2("DECOpnl/"+SliderColor,"Show"); if(ColorShow !=null){return ColorUtility.ToHtmlStringRGB(ColorShow.GetComponent().color);} return null; } public string GetColor(string cat,string Hex,TMP_Dropdown Finish){ if(cat=="pict"){return Hex;} else if(new List{"fauc","sink","toil","shaw","bath","basi"}.Contains(cat)){return Hex+"_"+Finish.options[Finish.value].text+"_none";} return Hex+"_"+Finish.options[Finish.value].text+"_FLAT";//+Texture.value.ToString(); } public string GetIDfromDropCabtextures(){ int Value=_CABTEXTURES.value; string UniqueName=_CABTEXTURES.options[Value].text; string ID=UIT.GetIDByUnique_Name(Library.CabTexture,UniqueName); return ID; } }