using System.Collections; using UnityEngine.UI; using UnityEngine; using TMPro; using System.Collections.Generic; public class MoldingPNL : MonoBehaviour { private static string CODE; static string HeightValueString; public void StartPNL() { //string cat=_P.List["OGEE_SELECT"]; print($"Name=={name}" + " cat==" + _P.List["KICK_SELECT"]); switch (name) { case "Kick": if (_P.ListSwitch["KICK_SELECT"]) { StartPNL(name); }; break; case "Ogee": if (_P.ListSwitch["OGEE_SELECT"]) { StartPNL(name); }; break; case "Fascia": if (_P.ListSwitch["FASCIA_SELECT"]) { StartPNL(name); }; break; case "Valance": if (_P.ListSwitch["VALANCE_SELECT"]) { StartPNL(name); }; break; case "Cornice": if (_P.ListSwitch["CORNICE_SELECT"]) { StartPNL(name); }; break; } } public static void StartPNL(string Name) { //DOIT.CloseALLPNL(); DOIT.CloseALLPNLONLY(); _G.PNL = Name; _G.PON = "MOLDINGpnl"; Get.o2("PNL", "MOLDINGpnl").SetActive(true); AddFilterTop(Name); Setoptions(); AddModel(Name); GameObject List = Get.o2(_G.PON + "/TEXTCOL/Viewport", "Content"); DOIT.DELETEAllObjectChild(List); string ModelName = Get.o2(_G.PON + "/MODELS/Viewport", "Content").transform.GetChild(0).gameObject.name; ModelSelected(ModelName); Get.o2(_G.PON, "CreateTexture").SetActive(_G.PATH == "free"); } //LIBRAARY FILTERS TOP public static void AddFilterTop(string name) { GameObject List = Get.o2(_G.PON + "/FILTERS/Viewport", "Content"); DOIT.DELETEAllObjectChild(List); GameObject BTNFILTERS = Instantiate(Get.o2(_G.PON + "BASEBTN", "BTNFILTERS")); GameObject Filter1 = Instantiate(BTNFILTERS); Filter1.name = name;//"Standard"; Filter1.transform.SetParent(List.transform, false); Filter1.SetActive(true); Filter1.transform.Find("Background/text").GetComponent().text = name; } //SET OPTIONS public static void Setoptions() { Get.o2(_G.PON, "None").GetComponent().isOn = false; Get.o2(_G.PON, "ADDtoScene").SetActive(false); 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 cat) { List L = UIT.GetLibrary(cat); GameObject PnlModel = Get.o2(_G.PON + "/MODELS/Viewport", "Content"); DOIT.DELETEAllObjectChild(PnlModel); GameObject BtnModel = Get.o2(_G.PON + "/BASEBTN/", "BTNMODEL"); for (int i = 1; i < L.Count; i++) { string ID = L[i].Split(',')[0]; if (!string.IsNullOrEmpty(ID) && UIT.Value(Library.Molding, ID, Header.Category) == cat) { GameObject O = Instantiate(BtnModel); O.transform.SetParent(PnlModel.transform, false); O.SetActive(true); O.name = L[i].Split(',')[0]; O.transform.Find("Image/Text").GetComponent().text = UIT.Value(Library.Molding, ID, Header.Unique_Name); string Model = UIT.Value(Library.Molding, ID, Header.Model); string CAT = cat.ToUpper(); print($"Cat==={CAT}"); print("ID===" + ID); O.transform.Find("Background").GetComponent().sprite = Resources.Load("ICONS/CAB_MOLDING/" + CAT.ToUpper() + "/" + Model);//KICK/K_01 } } Set.ToggleGroupToAllChild(_G.PON + "/MODELS/Viewport/Content"); } //SHOW SELECTED public void ModelSelected() { ModelSelected(name); } public static void ModelSelected(string Model) { //string Model=UIT.TogOn("MODELS"); print("Model========from ModelSelected====" + Model); //SET TEXTURE CONTAINER string ColorID = UIT.Value(Library.Molding, Model, Header.Color_ID); string IDTexture; GameObject List = Get.o2(_G.PON + "/TEXTCOL/Viewport", "Content"); DOIT.DELETEAllObjectChild(List); //SET TEXTURE CONTAINER List L = UIT.GetLibrary("CabTexture"); GameObject BtnModel = Get.o2(_G.PON + "/BASEBTN/", "BTNTEXCOL"); //CREATE LIST OF COLORS if (ColorID == "All") { foreach (string Line in L) { string[] line = Line.Split(','); if (!string.IsNullOrEmpty(line[0]) && !line[0].Contains("ID")) { AddTextures(line[0], BtnModel, List); } } // for (int i = 1; i < L.Count; i++) // { // print("i=====" + i + " L[i].Split(',')[0]=====" + L[i].Split(',')[0]); // if (!string.IsNullOrEmpty(L[i].Split(',')[0])) // { // GameObject O = Instantiate(BtnModel); // O.transform.SetParent(List.transform, false); // O.SetActive(true); // O.name = L[i].Split(',')[0]; // O.transform.Find("Image/Text").GetComponent().text = UIT.Value(Library.CabTexture, O.name, Header.Unique_Name);//L[i].Split(',')[0]; // O.transform.Find("Background").GetComponent().sprite = UIT_MATERIAL.GetSprite(O.name); // } // } } else { string[] ListTexture = ColorID.Split("_"); for (int i = 0; i < ListTexture.Length; i++) { GameObject O = Instantiate(BtnModel); O.transform.SetParent(List.transform, false); O.name = ListTexture[i]; IDTexture = ListTexture[i]; O.SetActive(true); //if ( List.transform.childCount < 18) {O.SetActive(true);} O.transform.Find("Image/Text").GetComponent().text = UIT.Value(Library.CabTexture, IDTexture, Header.Unique_Name); O.transform.Find("Background").GetComponent().sprite = UIT_MATERIAL.GetSprite(IDTexture); //O.transform.Find("Image").transform.Find("Text").gameObject.GetComponent().text = UIT.Value(Library.Molding,IDTexture,Header.Unique_Name); } } //StaticCoroutine.Start(WaitHideScroller("TEXTCOL",true,3)); _G.SC[0] = Model; Get.o2(_G.PON, "None").GetComponent().isOn = false; } public static void AddTextures(string name, GameObject BtnModel, GameObject List) { GameObject O = Instantiate(BtnModel); O.transform.SetParent(List.transform, false); O.SetActive(true); O.name = name; O.transform.Find("Image/Text").GetComponent().text = UIT.Value(Library.CabTexture, O.name, Header.Unique_Name);//L[i].Split(',')[0]; O.transform.Find("Background").GetComponent().sprite = UIT_MATERIAL.GetSprite(O.name); } public void ShowSelected() { print("ShowSelecded()====" + name); string MoldingID = UIT.TogOn("MODELS"); print("ShowSelecded()=TogOn===" + MoldingID); ShowSelectedImage(MoldingID); } public static void ShowSelectedImage(string MoldingID) { //string MoldingID = UIT.TogOn("MODELS"); string Color = UIT.TogOn("TEXTCOL"); //ADD DIM string W = UIT.Value(Library.Molding, MoldingID, Header.Wide); string H = UIT.Value(Library.Molding, MoldingID, Header.Height); string T = UIT.Value(Library.Molding, MoldingID, Header.Depth); Get.o2(_G.PON, "SHOWSELECTION").SetActive(true); Get.o2(_G.PON, "ADDtoScene").SetActive(true); if (_G.PNL == "Fascia") { Get.o2(_G.PON + "/SHOWSELECTION", "DIMS").SetActive(true); } GameObject DIM = Get.o2(_G.PON + "/SHOWSELECTION", "DIMS"); DOIT.AllChildOff(DIM); string ColorRecipe = Color + "?90"; SetDIM(DIM, W, "W"); SetDIM(DIM, H, "H"); SetDIM(DIM, T, "T"); print("Texture molding===" + ColorRecipe); Material Mat = UIT_MATERIAL.GetMaterial(ColorRecipe); float w = GetValue(W); float h = GetValue(H); float d = GetValue(T); switch (MoldingID) { case "K_1": MoldingShow.Model_K_1(12, h, d, Mat); break; case "FA_1": MoldingShow.Model_FA_1(12, h, d, Mat); break; case "FI_1": MoldingShow.Model_FI_1(w, 30, d, Mat); break; case "V_1": MoldingShow.Model_V_1(12, h, d, Mat); break; case "V_2": MoldingShow.Model_V_1(12, h, d, Mat); break; case "O_1": MoldingShow.Model_O_1(12, h, d, Mat); break; case "O_2": MoldingShow.Model_O_1(12, h, d, Mat); break; case "O_3": MoldingShow.Model_O_1(12, h, d, Mat); break; } StaticCoroutine.Start(LibraryCreator.RTImageCaroutine(Get.o2("MOLDINGpnl/SHOWSELECTION/IMAGE", "RawImage"))); //Get.o2("MOLDINGpnl/SHOWSELECTION/IMAGE","RawImage").GetComponent().texture=LibraryCreator.RTImage(); Get.o2(_G.PON + "/SHOWSELECTION/DES", "Model").GetComponent().text = UIT.Value(Library.Molding, MoldingID, Header.Unique_Name); Get.o2(_G.PON + "/SHOWSELECTION/DES", "Color").GetComponent().text = UIT.Value(Library.CabTexture, Color, Header.Unique_Name); Get.o2(_G.PON + "/SHOWSELECTION/DES", "Description").GetComponent().text = UIT.Value(Library.Molding, MoldingID, "L" + _G.L.ToString()); Get.o2(_G.PON, "None").GetComponent().isOn = false; } //SCROLLER // public static IEnumerator WaitHideScroller(string PnlName) // { // int qty = Get.o2(_G.PON+"/"+PnlName+"/Viewport","Content").transform.childCount; // yield return new WaitForSeconds(qty * 0.00005f); // int ind = 1;//Number of row 6 number on one row // if(PnlName=="TEXTCOL")ind=3; // Hide.SETSCROLLER(PnlName, 6, ind, qty); // GameObject listpnl=Get.o2(_G.PON+"/"+PnlName+"/Viewport","Content"); // if(listpnl.transform.childCount > 0){ // listpnl.transform.GetChild(0).GetComponent().isOn=true; // Set.ToggleGroupToAllChild(_G.PON+"/"+PnlName+"/Viewport/Content"); // } // } //ADD TO SCENE public static void AddToScene() { string ID = UIT.TogOn("MODELS"); string Color = UIT.TogOn("TEXTCOL"); bool isNone = Get.o2(_G.PON, "None").GetComponent().isOn; if (!isNone) { if (_G.PNL == "Fascia" || _G.PNL == "Ogee" || _G.PNL == "Valance") { if (Get.o2(_G.PON + "/SHOWSELECTION/DIMS", "InputH").activeInHierarchy) { HeightValueString = Get.o2(_G.PON + "/SHOWSELECTION/DIMS", "InputH").GetComponent().text; } if (Get.o2(_G.PON + "/SHOWSELECTION/DIMS", "FixH").activeInHierarchy) { HeightValueString = Get.o2(_G.PON + "/SHOWSELECTION/DIMS", "FixH").GetComponent().text; } } } if (isNone) { ID = "NONE"; } CODE = ID + "?" + Color + "?" + HeightValueString; print("Code add to scene == " + CODE);//O_2?12?90?3 if (SceneModeManager.SelectedName != "") { int ind = Get.GetObjectIndex(SceneModeManager.SelectedName); StaticCoroutine.Start(DO_UNIQUE(ind)); } else { StaticCoroutine.Start(SELECTMETHODE()); } DOIT.CloseALLPNL(); _MOL.SetMolding(); } public static IEnumerator DO_UNIQUE(int nO) { string[] C = _G.OBJs[nO]; // C[60] = "UNIQUE"; if (_G.PNL == "Ogee" || _G.PNL == "Cornice"){ _G.OBJs[nO][64] = CODE; } if (_G.PNL == "Fascia"){C[66] = CODE; } if (_G.PNL == "Valance") { C[65] = CODE; } if (_G.PNL == "Kick") { C[63] = CODE; } if (_G.PNL == "FillerFL") { C[50] = CODE; } if (_G.PNL == "FillerFR") { C[51] = CODE; } yield return null; } public static string PosOgee(string HFs, string HOs) { float HO = DOIT.ConvertStringToNumber(HOs); float HF = DOIT.ConvertStringToNumber(HFs); float HY = HF - HO; if (HY < 0) HY = 0; return HY.ToString(); } public static IEnumerator SELECTMETHODE(){ if (_G.PNL == "Kick") { UIT.GlobalSet(Header.Kick, CODE, _G.G); } if (_G.PNL == "Fascia") { UIT.GlobalSet(Header.Fascia, CODE, _G.G); } if (_G.PNL == "Valance") { UIT.GlobalSet(Header.Valance, CODE, _G.G); } if (_G.PNL == "Ogee") { UIT.GlobalSet(Header.Ogee, CODE, _G.G); } List CabinetsToModify = Get.CabinetsToModifyInt(); foreach (int Ind in CabinetsToModify) { StaticCoroutine.Start(DO_UNIQUE(Ind)); } yield return new WaitForSeconds(1); } //GET // SET public static void SetDIM(GameObject DIM, string Values, string Letter) { print("Values====" + Values); 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 (Letter == "H") HeightValueString = 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]; if (Letter == "H") HeightValueString = l[1]; } } public static float GetValue(string Values){ //print("Value from GetValue==="+Values); string[] l=Values.Split("_"); if(l.Length==3 ){ return DOIT.ConvertStringToNumber(l[1]); } return DOIT.ConvertStringToNumber(Values); } // 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 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)); } } public void NoMolding(){ print("_G.PNL==="+_G.PNL); Get.o2(_G.PON,"SHOWSELECTION").SetActive(false); Get.o2(_G.PON,"ADDtoScene").SetActive(true); } }