using System.Collections; using UnityEngine.UI; using UnityEngine; using TMPro; using System.Collections.Generic; using Unity.VisualScripting; public class UIT_PANELPnl : MonoBehaviour { //SET START public static void StartPNL(string name){ DOIT.CloseALLPNL(); _G.PNL=name; _G.PON="PANELpnl"; Get.o2("PNL", "PANELpnl").SetActive(true); GameObject List = Get.o2(_G.PON+"/TEXTCOL/Viewport","Content"); DOIT.DELETEAllObjectChild(List); AddFilterTop(); Setoptions(); AddModel(""); } //LIBRAARY FILTERS TOP public static void AddFilterTop(){ GameObject List = Get.o2(_G.PON+"/FILTERS/Viewport","Content"); DOIT.DELETEAllObjectChild(List); GameObject BTNFILTERS=Instantiate(Get.o2(_G.PON+"BASEBTN","UIT_BTNFILTERS")); int IndexCategory=UIT.Ind( Library.Panel,Header.Category); List CategoryList=new(); foreach(string line in _G.UIT_LibraryPanels) { string[] lineSplit=line.Split(","); if(!string.IsNullOrEmpty(lineSplit[0]) && line!=_G.UIT_LibraryPanels[0]) { string CategoryName=lineSplit[IndexCategory]; if(!CategoryList.Contains(CategoryName)){CategoryList.Add(CategoryName);} } } UIT.SortLibrary(_G.UIT_LibraryPanels); foreach(string Category in CategoryList){ print("Category===="+Category); GameObject Btn = Instantiate(BTNFILTERS); Btn.name=Category; Btn.transform.SetParent(List.transform, false); Btn.SetActive(true); Btn.transform.Find("Background/text").GetComponent().text = TRANS.This("P_"+Category); } Set.ToggleGroupToAllChild(_G.PON + "/FILTERS/Viewport/Content"); List.transform.GetChild(0).GetComponent().isOn=true; AddModel(List.transform.GetChild(0).name); } public void ShowLibrary(){ print("Name===="+name); if(name=="CreateIt"){ PanelCreator.AddModels(); PanelCreator.AddTextures(); } else{ AddModel(name); GameObject List = Get.o2(_G.PON+"/TEXTCOL/Viewport","Content"); DOIT.DELETEAllObjectChild(List); } Setoptions(); } //SET OPTIONS public static void Setoptions() { Get.o2(_G.PON,"SHOWSELECTION").SetActive(false); Get.o2(_G.PON,"YOURLIBRARY").SetActive(false); if(_G.User=="Admin") { Get.o2(_G.PON,"YOURLIBRARY").SetActive(true); } } //MODELS public static void AddModel(string Category){ List L= UIT.GetLibrary("Panel"); GameObject PnlModel= Get.o2(_G.PON+"/MODELS/Viewport","Content"); DOIT.DELETEAllObjectChild(PnlModel); GameObject BtnModel=Get.o2(_G.PON + "/BASEBTN/","UIT_BTNMODEL"); int IndModel=UIT.Ind(Library.Panel,Header.Model); //int IndL=UIT.Ind(Library.Panel,"L"+_G.L); int IndUniqueName=UIT.Ind(Library.Panel,Header.Unique_Name); int indWide=UIT.Ind(Library.Panel,Header.Wide); int indHeight=UIT.Ind(Library.Panel,Header.Height); int IndCategory=UIT.Ind(Library.Panel,Header.Category); for(int i=1; i1 || line[indHeight].Split("_").Length>1){ShowSize="";} if(_G.PATH=="free" || _G.PATH=="laminam"){ShowSize="";} if(PanelModel=="D_KIT"){PanelModel="D_17";} O.transform.Find("Image/Text").GetComponent().text = line[IndUniqueName]+ShowSize ;//L[i].Split(',')[0]; string Path="ICONS/PANEL/"+PanelModel; if(PanelModel.IndexOf("D_")!=-1)Path="ICONS/CABDOORS/"+PanelModel; O.transform.Find("Background").GetComponent().sprite = Resources.Load(Path);//+L[i].Split(',')[UIT.Ind("Panel","Model")]); } } } Set.ToggleGroupToAllChild(_G.PON + "/MODELS/Viewport/Content"); PnlModel.transform.GetChild(0).GetComponent().isOn=true; ModelSelected(); } public static void ModelSelected() { string Model=UIT.TogOn("MODELS"); string ColorID=UIT.Value(Library.Panel,Model,Header.ColorID); string Texture,IDTexture,finish; GameObject List = Get.o2(_G.PON+"/TEXTCOL/Viewport","Content"); DOIT.DELETEAllObjectChild(List); List L= UIT.GetLibrary("CabTexture"); GameObject BtnModel=Get.o2(_G.PON + "/BASEBTN/","UIT_BTNTEXCOL"); if(ColorID=="All"){ for(int i=1; i().text = L[i].Split(',')[0]; Texture=UIT.Value("CabTexture",IDTexture,"L"+_G.L); O.transform.Find("Background").GetComponent().sprite =UIT_MATERIAL.GetSprite(O.name);//.material = UIT_MATERIAL.GetMaterial(O.name); O.transform.Find("Image").transform.Find("Text").gameObject.GetComponent().text =Texture+" "+(i+0).ToString()+" "+finish; } } } else { string[] ListTexture=ColorID.Split("_"); for(int i=0; i().text = UIT.Value("Panel", Model,Header.Unique_Name); Texture=UIT.Value("CabTexture",IDTexture,"L"+_G.L); O.transform.Find("Background").GetComponent().material = UIT_MATERIAL.GetMaterial(O.name); O.transform.Find("Image").transform.Find("Text").gameObject.GetComponent().text =Texture+" "+(i+0).ToString()+" "+finish; } } } Set.ToggleGroupToAllChild(_G.PON + "/TEXTCOL/Viewport/Content"); _G.SC[0]=Model; string FirstOnList=List.transform.GetChild(0).name; ShowSelecdedFirst(FirstOnList); List.transform.GetChild(0).GetComponent().isOn=true; } //-------------------SHOW SELECTED------------------------------------------------------ public static void ShowSelecdedFirst(string name){ Get.o2(_G.PON,"SHOWSELECTION").SetActive(true); GameObject DIM=Get.o2(_G.PON+"/SHOWSELECTION","DIMS"); DOIT.AllChildOff(DIM); string ID=UIT.TogOn("MODELS"); string W=UIT.Value(Library.Panel,ID,Header.Wide); string H=UIT.Value(Library.Panel,ID,Header.Height); string T=UIT.Value(Library.Panel,ID,Header.Thick); SetDIM(DIM,W,"W"); SetDIM(DIM,H,"H"); SetDIM(DIM,T,"T"); //Input for doors model SetInputE(ID); ShowSelecded(name,W,H,T); } public void ShowSelecded(){ print("ShowSelecded()===="+name); string ID=UIT.TogOn("MODELS"); string W=UIT.Value(Library.Panel,ID,Header.Wide); string H=UIT.Value(Library.Panel,ID,Header.Height); string T=UIT.Value(Library.Panel,ID,Header.Thick); //Input for doors model SetInputE(ID); ShowSelecded(name,W,H,T); } public static void SetInputE(string ID){ bool isInputE=false; if(_G.PATH=="free" ||_G.PATH=="laminam" ){ isInputE=!new List(){"1","2","20"}.Contains(ID); if(isInputE){ Get.o2(_G.PON+"/SHOWSELECTION/DIMS","InputE").GetComponent().text="2"; } } Get.o2(_G.PON+"/SHOWSELECTION/DIMS","InputE").SetActive(isInputE); Get.o2(_G.PON+"/SHOWSELECTION/TextDim","C_Edges").SetActive(isInputE); } public static void ShowSelecdedOnChange(){ string ColorID=UIT.TogOn("TEXTCOL"); string W=GetSizeInput("W"); string H=GetSizeInput("H"); string T=GetSizeInput("T"); ShowSelecded(ColorID,W,H,T); } public static void ShowSelecded(string ColorID,string W,string H,string T){ string Color=ColorID;//UIT.TogOn("TEXTCOL"); string ID=UIT.TogOn("MODELS"); string Rotation=UIT.Value(Library.Panel,ID,Header.Rot); Color+="?"+Rotation; GameObject DIM=Get.o2(_G.PON+"/SHOWSELECTION","DIMS"); Material Mat=UIT_MATERIAL.GetMaterial(Color); float w = GetValue(DIM,W,"W"); float h = GetValue(DIM,H,"H"); float d = GetValue(DIM,T,"T"); float ct=DOIT.ConvertStringToNumber(UIT.Value(Library.Panel,ID,Header.Cthick)); float sw=2;//DOIT.ConvertStringToNumber(UIT.Value(Library.Panel,ID,Header.Slat)); float eh=DOIT.ConvertStringToNumber(UIT.Value(Library.Panel,ID,Header.E_H)); float ev=DOIT.ConvertStringToNumber(UIT.Value(Library.Panel,ID,Header.E_V)); if(_G.PATH=="free" || _G.PATH=="laminam" ){ bool isInputE=!new List(){"1","2","20"}.Contains(ID); if(isInputE){ eh=DOIT.ConvertStringToNumber( Get.o2(_G.PON+"/SHOWSELECTION/DIMS","InputE").GetComponent().text ); ev=eh; } } //Add image string Model=UIT.Value(Library.Panel,ID,Header.Model); if(Model.Length==1){Model="P_0"+Model;} string UniqueName=UIT.Value(Library.Panel,ID,Header.Unique_Name); //Kent Ogge show if(UniqueName.IndexOf("KE-OGEE")!=-1){ w=96; h=3f; d=1; } switch(Model){ case "P_01": PanelShow.Model_P_01(w,h,d,Mat);break; case "P_02": PanelShow.Model_P_02(w,h,d,Mat);break; case "P_03": PanelShow.Model_P_03(w,h,d,ct,eh,ev,Mat);break; case "P_04": PanelShow.Model_P_04(w,h,d,ct,eh,ev,Mat);break; case "P_05": PanelShow.Model_P_05(w,h,d,ct,eh,ev,Mat);break; case "P_06": PanelShow.Model_P_06(w,h,d,ct,eh,ev,Mat);break; case "P_07": PanelShow.Model_P_07(w,h,d,sw,Mat);break; case "P_08": PanelShow.Model_P_08(w,h,d,sw,Mat);break; case "P_09": PanelShow.Model_P_09(w,h,d,ct,sw,eh,ev,Mat);break; case "P_10": PanelShow.Model_P_10(w,h,d,ct,sw,eh,ev,Mat);break; case "P_11": PanelShow.Model_P_11(w,h,d,ct,sw,eh,ev,Mat);break;//w,h, d,float sw,float eh, float ev,Material Mat case "P_12": PanelShow.Model_P_12(w,h,d,ct,sw,eh,ev,Mat);break; case "P_13": PanelShow.Model_P_13(w,h,d,ct,eh,ev,Mat);break; case "P_14": PanelShow.Model_P_14(w,h,d,ct,eh,ev,Mat);break; case "P_15": PanelShow.Model_P_15(w,h,d,ct,eh,ev,Mat);break; case "P_16": PanelShow.Model_P_16(w,h,d,ct,eh,ev,Mat);break; case "D_01": case "D_02":case "D_03": case "D_04":case "D_05": case "D_06":case "D_07":case "D_08": case "D_09":case "D_10":case "D_11": case "D_12":case "D_13":case "D_14": case "D_15":DoorShow.FromModel(Model, w,h,d,ct,eh, ev, 0, ColorID);break; case "D_KIT":DoorShow.FromModelKIT(ID, w,h,d,ct,eh, ev, 0, ColorID);break; } //Description Get.o2(_G.PON+"/SHOWSELECTION/DES","Model").GetComponent().text=UIT.Value("Panel",ID,Header.Unique_Name); Get.o2(_G.PON+"/SHOWSELECTION/DES","Color").GetComponent().text=UIT.Value("CabTexture",Color,"L"+_G.L); Get.o2(_G.PON+"/SHOWSELECTION/DES","Description").GetComponent().text=UIT.Value(Library.Panel,ID,"L"+_G.L.ToString()); } public static void SetDIM(GameObject DIM,string Values,string Letter){ string[] l=Values.Split("_"); if(l.Length==1 || l.Length==3 && l[0]==l[2]){ DIM.transform.Find("Fix"+Letter).gameObject.SetActive(true); DIM.transform.Find("Fix"+Letter).gameObject.GetComponent().text=l[0]; } if(l.Length==3 && l[0]!=l[2]){ GameObject Input=DIM.transform.Find("Input"+Letter).gameObject; Input.SetActive(true); Input.transform.Find("min").gameObject.GetComponent().text=l[0]; Input.transform.Find("max").gameObject.GetComponent().text=l[2]; Input.GetComponent().text=l[1]; } } public static float GetValue(GameObject DIM,string Values,string Letter){ string[] l=Values.Split("_"); if(l.Length==3 ){ return DOIT.ConvertStringToNumber(l[1]); } return DOIT.ConvertStringToNumber(Values); } //---------------------------------------ADD TO SCENE---------------------------------------------------------------- public static void AddToScene(){ _G.SC[4]="0"; GetSize("W", 1); GetSize("H", 2); GetSize("T", 3); GetSize("E", 4); _G.SC[0]=UIT.TogOn("MODELS"); print("_G.SC[0]===="+_G.SC[0]); // 7 string Rotation= UIT.Value(Library.Panel,_G.SC[0],Header.Rot); string ct=UIT.Value(Library.Panel,_G.SC[0],Header.Cthick); string eh=UIT.Value(Library.Panel,_G.SC[0],Header.E_H); string ev=UIT.Value(Library.Panel,_G.SC[0],Header.E_V); string slatwide=UIT.Value(Library.Panel,_G.SC[0],Header.Slat); if(_G.PATH=="free" || _G.PATH=="laminam"){ eh=_G.SC[4]; ev=eh; slatwide="2"; ct="0.125"; } string t=_G.SC[3]; string ws="CV";//H,V,CH,CV = wood sens on door string ColorID=UIT.TogOn("TEXTCOL"); for(int i=1; i<_P.Listfloat["GLOBAL_QTY"]+1; i++) { if(ColorID==UIT.Global(Header.Ext,i).Split("?")[0]) {_G.SC[60]="GLOBAL"+i; break;} else {_G.SC[60]="UNIQUE";} } _G.SC[61]=ColorID+"?"+Rotation+"?"+eh+"?"+ev+"?"+t+"?"+ct+"?"+slatwide+"?"+ws;//Color? Rotation? eh? ev? t? ct? ts? slat ? woodSense //_G.SC[84]=ColorID; print("_G.SC[61====" + _G.SC[61]); //==9?3?0?2?2?0.625?0.125?0?CV _Add.Panel(ColorID+"?"+Rotation); _G.ff = "0"; DOIT.CloseALLPNL(); _M.PH(3, 230, "ffffff", 1, 1); PAINT.SEL = "ON"; SceneModeManager.Instance.SetSceneMode(SceneModes.Install); _G.addOBJ = "pane"; _G.PON=""; } //---------------------------------------GET---------------------------------------------------------------- public static void GetSize(string cat, int number) { if (Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Fix" + cat).activeInHierarchy == true) _G.SC[number] = Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Fix" + cat).GetComponent().text; if (Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Input" + cat).activeInHierarchy == true) _G.SC[number] = Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Input" + cat).GetComponent().text; if (Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Drop" + cat).activeInHierarchy == true) _G.SC[number] = Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Drop" + cat).GetComponent().transform.Find("Label").GetComponent().text; } public static string GetSizeInput(string Letter) { if (Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Fix" + Letter).activeInHierarchy == true) {return Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Fix" + Letter).GetComponent().text;} if (Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Input" + Letter).activeInHierarchy == true) {return Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Input" + Letter).GetComponent().text;} if (Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Drop" + Letter).activeInHierarchy == true) {return Get.o2("PANELpnl/SHOWSELECTION/DIMS", "Drop" + Letter).GetComponent().transform.Find("Label").GetComponent().text;} return null; } public static string MinMaxCorection(float v, string cat) { float V = v; string min = Get.o2("PANELpnl/SHOWSELECTION/DIMS/" + cat + "/", "min").GetComponent().text; string max = Get.o2("PANELpnl/SHOWSELECTION/DIMS/" + cat + "/", "max").GetComponent().text; float Min = DOIT.ConvertStringToNumber(min); float Max = DOIT.ConvertStringToNumber(max); if (V < Min) { V = Min; } if (V > Max) { V = Max; } return V.ToString(); } public static string Get_UniqueName() { string Uniquename = Get.ToggleOnInChild("PANELpnl/TEXTCOL/Viewport/Content"); return Uniquename; } public static string GetRotationbyModel(string Model){ if(Model=="DBH"){return "90";} if(Model=="DBV"){return "0";} if(Model=="DHH"){return "90";} if(Model=="DHT"){return "0";} if(Model=="DHV"){return "0";} return "0"; } public static void SetFix(Text F, string value) { F.gameObject.SetActive(true); F.text = value + _G.Sys; } public static void SetInput(InputField I, string value, string min, string max) { print(I.name+" value=="+value+" min=="+min); I.gameObject.SetActive(true); I.text = value + _G.Sys; I.gameObject.transform.Find("min").GetComponent().text = min; I.gameObject.transform.Find("max").GetComponent().text = max; } public static void SetDropdown(TMP_Dropdown D, string[] list) { D.gameObject.SetActive(true); D.value = 1; D.transform.Find("Label").GetComponent().text = list[0] + _G.Sys; foreach (string option in list) { D.options.Add(new TMP_Dropdown.OptionData(option)); } } }