using UnityEngine.UI; using UnityEngine; using System.Collections.Generic; using TMPro; using UnityEngine.UI.Extensions; using System.Security.Cryptography; using System.Linq; public class CabCreator : MonoBehaviour { static float sc = 1; public void Setup(){ print("name of btn===="+name+" 1Cabinet == " +_G.SC[0]); if(name=="RE_CREATOR"){_G.SC[0]=UIT.TogOn("CABMODEL");} DOIT.CloseALLPNL(); Get.o2("Panel_SCENE/PNL","CABCREATORpnl").SetActive(true); _G.PON="CABCREATORpnl"; _G.PNL="CABCREATORpnl"; GameObject Category=Get.o2("CABCREATORpnl","CATEGORY"); GameObject Sens=Get.o2("CABCREATORpnl","SENS"); if(Category.GetComponent().options[0].text=="Option A" ){ List Cat = new() { "Base standard","Base door angle","Base 45 2 doors","Base 45 shelf", "Wall/Upper standard","Wall/Upper door angle","Wall/Upper 45 2 doors","Wall/Upper 45 shelf", "Tall/Pantry", "Corner Base Blind","Corner Base 90","Corner Base 45", "Corner Wall/Upper Blind","Corner Wall/Upper 90","Corner Wall/Upper 45" }; List sens = new() { "Reversible","Fix","Fix left","Fix right"}; List library = new() { "Kitchen","Bathroom"}; if(_G.L==2){ Cat= new() { "Bas standard","Bas porte angle","Bas 45 2 portes","Bas 45 étagères", "Mural/Haut standard","Mural/Haut porte angle", "Mural/Haut 45 2 portes", "Mural/Haut 45 étagères", "Tour/Garde manger", "Bas Coin Mort","Bas Coin 90 ","Bas Coin 45","Bas Coin 45 arrière en angle", "Coin Mural/Haut Mort","Coin Mural/Haut 90", "Coin Mural/Haut 45", "Coin Mural/Haut 45 en angle", "Paneau","Bloc"}; sens = new() { "Réversible","Fix","Fix gauche","Fix droit"}; } if(_G.L==3){ Cat = new() { "Base Estándar", "Base ángulo de la puerta","Base 45 2 puertas","Base 45 estante", "Muro/Superior Estándar","Muro/Superior ángulo de la puerta", "Muro/Superior 45 2 puertas","Muro/Superior 45 estante", "Despensa/Alta", "Moneda Base Ciego","Moneda Base 90","Moneda Base 45","Moneda Base 45 ángulo de espalda", "Moneda Muro/Superior Ciego","Moneda Muro/Superior 90","Moneda Muro/Superior 45","Moneda Muro/Superior 45 ángulo de espalda", "Panel","bloquear"}; sens = new() { "Reversible","Fix","Arreglar alado derecho","Arreglar alado izquierdo"}; } Category.GetComponent().ClearOptions(); Category.GetComponent().AddOptions(Cat); Sens.GetComponent().ClearOptions(); Sens.GetComponent().AddOptions(sens); Get.o2("CABCREATORpnl","RowNum").GetComponent().value=0; DOIT.DELETEAllChild("CABCREATORpnl/ROWEDITS"); SetDimensions(); ShowModel(); AddPaternStart(); ROW_EDIT(); //CabinetOptions.SetOptions(); } Set.alpha(Get.o2("CABCREATORpnl","DoorNumber"),false); //Set.alpha(Get.o2("CABCREATORpnl","OPTIONS"),false); GameObject ADDToLibrary=Get.o2(_G.PON,"ADDToLibrary"); ADDToLibrary.SetActive(false); if(_G.User=="Admin"){ADDToLibrary.SetActive(true);} Set.alpha(Get.o2("CABCREATORpnl","INPUTS"),false); NEWCAB.AddSubCategory(); NEWCAB.AddLibrary(); if(name=="RE_CREATOR"){ print("name of btn===="+name+" 2Cabinet == " +_G.SC[0]); print("Line from library===="+UIT.GetLibraryLine(Library.Cabinet,_G.SC[0])[0]); string[] CabCode=UIT.GetLibraryLine(Library.Cabinet,_G.SC[0]); string Model=CabCode[UIT.Ind(Library.Cabinet,Header.Model)]; print("Model from library===="+Model); int Value=0; switch (Model) { case "B1": Value=0;break; case "W1": Value=4;break; case "T1": Value=8;break; case "B2": Value=10;break; case "B3": Value=10;break; case "B4": Value=11;break; case "B5": Value=11;break; case "B6": Value=1;break; case "B7": Value=1;break; case "B9": Value=9;break; case "B10":Value=9;break; case "W2": Value=14;break; case "W3": Value=14;break; case "W4": Value=15;break; case "W5": Value=15;break; case "W6": Value=5;break; case "W7": Value=5;break; case "W9": Value=13;break; case "W10":Value=13;break; } Category.GetComponent().value=Value; NEWCAB.AddSubCategory(); //Mesure string A=CabCode[UIT.Ind(Library.Cabinet,"A")]; string B=CabCode[UIT.Ind(Library.Cabinet,"B")]; string C=CabCode[UIT.Ind(Library.Cabinet,"C")]; string D=CabCode[UIT.Ind(Library.Cabinet,"D")]; string E=CabCode[UIT.Ind(Library.Cabinet,"E")]; string F=CabCode[UIT.Ind(Library.Cabinet,"F")]; string K=CabCode[UIT.Ind(Library.Cabinet,"K")]; switch (Model) { case "B1": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);break;//BASE case "W1": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);break;//WALL case "T1": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);break;//TALL case "B2": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);ShowDim("E",E);ShowDim("F",F);break;//CORNER 90 case "B3": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);ShowDim("E",E);ShowDim("F",F);break;//CORNER 90 case "B4": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);ShowDim("E",E);ShowDim("F",F);break;//CORNER 45 case "B5": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);ShowDim("E",E);ShowDim("F",F);break;//CORNER 45 case "B6": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);ShowDim("E",E);ShowDim("F",F);break;//BASE ANGLE case "B7": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);ShowDim("E",E);ShowDim("F",F);break;//BASE ANGLE case "B9": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);ShowDim("E",E);break;//CORNER BLIND case "B10": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("D",D);ShowDim("K",K);ShowDim("F",E);break;//CORNER BLIND case "W2": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("E",E);ShowDim("F",F);break;//CORNER 90 case "W3": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("E",E);ShowDim("F",F);break;//CORNER 90 case "W4": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("E",E);ShowDim("F",F);break;//CORNER 45 case "W5": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("E",E);ShowDim("F",F);break;//CORNER 45 case "W6": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("E",E);ShowDim("F",F);break;//WALL ANGLE case "W7": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("E",E);ShowDim("F",F);break;//WALL ANGLE case "W9": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("E",E);;break;//CORNER BLIND case "W10": ShowDim("A",A);ShowDim("B",B);ShowDim("C",C);ShowDim("F",F);;break;//CORNER BLIND } //Patern _G.CODEPATERN=CabCode[UIT.Ind(Library.Cabinet,Header.Pattern_Door_1)]; _G.CODEPATERN2=CabCode[UIT.Ind(Library.Cabinet,Header.Pattern_Door_2)]; _G.D1W=DOIT.ConvertStringToNumber(_G.CODEPATERN.Split("_")[3]); _G.PW=DOIT.ConvertStringToNumber(_G.CODEPATERN.Split("_")[0]); _G.PH=DOIT.ConvertStringToNumber(_G.CODEPATERN.Split("_")[1]); if(string.IsNullOrEmpty(_G.CODEPATERN2))_G.D2W=DOIT.ConvertStringToNumber(_G.CODEPATERN2.Split("_")[0]); AddPATERN(); //Set Sens /"Réversible","Fix","Fix Left","Fix right"}; string SensLetter =CabCode[UIT.Ind(Library.Cabinet,Header.Flip)]; int ValueSens=0; print("SensLetter===="+SensLetter); switch (SensLetter){ case "L": ValueSens=0;break; case "F": ValueSens=1;break; case "FL": ValueSens=2;break; case "FR": ValueSens=3;break; } Sens.GetComponent().value=ValueSens; //Number of Row _G.VF=CabCode[UIT.Ind(Library.Cabinet,Header.FV1)]; _G.VF2=CabCode[UIT.Ind(Library.Cabinet,Header.FV2)]; ROW_EDIT(); int NumRow=_G.VF.Split('_').Length-1; Get.o2("CABCREATORpnl","RowNum").GetComponent().SetValueWithoutNotify(NumRow); //Add Unique name Get.o2("CABCREATORpnl/INPUTS","ID").GetComponent().text=_G.SC[0]; //Library int NumLib=0; if(CabCode[UIT.Ind(Library.Cabinet,Header.Library_Name)]=="Bathroom")NumLib=1; Get.o2("CABCREATORpnl/INPUTS","Library").GetComponent().value=NumLib; //Subcategory string NameCategory=CabCode[UIT.Ind(Library.Cabinet,Header.Category)]; List List = new(); switch(NameCategory){ case "BASE":List=_SC.BASE1;break; case "WALL":List=_SC.WALL1;break; case "TALL":List=_SC.TALL1;break; case "CBASE":List=_SC.CBASE1;break; case "CWALL":List=_SC.CWALL1;break; } string Subcategory=CabCode[UIT.Ind(Library.Cabinet,Header.Sub_Category)]; int NumSub=List.IndexOf(Subcategory); print("NameCategory===="+NameCategory); print("Subcategory===="+Subcategory); print("NumSub===="+NumSub); Get.o2(_G.PON+"/INPUTS","SubCabCat").GetComponent().GetComponent().value=NumSub; //Description Get.o2("CABCREATORpnl/INPUTS/Descriptions","Des_L1").GetComponent().text=CabCode[UIT.Ind(Library.Cabinet,"Des_L1")]; Get.o2("CABCREATORpnl/INPUTS/Descriptions","Des_L2").GetComponent().text=CabCode[UIT.Ind(Library.Cabinet,"Des_L2")]; Get.o2("CABCREATORpnl/INPUTS/Descriptions","Des_L3").GetComponent().text=CabCode[UIT.Ind(Library.Cabinet,"Des_L3")]; CabinetOptions.OpeningPNL(); } //CabinetOptions.OpeningPNL(); Set.alpha(Get.o2("CABCREATORpnl","OPTIONS"),false); Set.alpha(Get.o2("CABCREATORpnl","DOORLIST"),false); } public void ShowModel(){ Set.alpha(Get.o2("CABCREATORpnl","OPTIONS"),false); GameObject DropCategory=Get.o2("CABCREATORpnl","CATEGORY"); int value=DropCategory.GetComponent().value; string category=DropCategory.transform.GetComponent().options[value].text; print("category===="+category); string NameImage = "M.1.F"; switch(value){ case 0: NameImage = "M.1.F";;break;//Base case 1: NameImage = "M.12.L";break;//Base Angle case 2: NameImage = "M.13.L";break;//CORNERBASE 45 2 doors case 3: NameImage = "M.14.L";break;//CORNERBASE 45 shelf case 4: NameImage = "M.2.F";break;//Wall case 5: NameImage = "M.19.L";break;//Wall Angle case 6: NameImage = "M.15.L";break;//WALL 45 2 doors case 7: NameImage = "M.16.L";break;//WALL 45 shelf case 8: NameImage = "M.3.F";break;//Tall case 9: NameImage = "M.6.L";break;//CORNERBASE Blind case 10: NameImage = "M.5.L";break;//CORNERBASE 90 case 11: NameImage = "M.4.L";break;//CORNERBASE 45 case 12: NameImage = "M.9.L";break;//CORNERWALL Blind case 13: NameImage = "M.8.L";break;//CORNERWALL 90 case 14: NameImage = "M.7.L";break;//CORNERWALL 45 //case 15: NameImage = "MPNL";break;//PANEL //case 16: NameImage = "MABC";break;//BLOC } GameObject ModelImage = Get.o2("CABCREATORpnl","ModelImage"); ModelImage.GetComponent().sprite=Resources.Load("CABIMAGE/"+NameImage); Get.o2("CABCREATORpnl","SENS").GetComponent().value=0; SetDimensions(); AddPaternStart(); ROW_EDIT(); //CabinetOptions.SetOptions(); } public void SetSenes(){ int value=transform.GetComponent().value; string ModelName=Get.o2("CABCREATORpnl","ModelImage").GetComponent().sprite.name; if(value==2){ModelName=ModelName.Replace(".R",".L"); print("value==22=="+value); } if(value==3){ModelName=ModelName.Replace(".L",".R");print("value===23="+value); } Get.o2("CABCREATORpnl","ModelImage").GetComponent().sprite=Resources.Load("CABIMAGE/"+ModelName); //SetDimensions(); //AddPaternStart(); //ROW_EDIT(); } public static void SetDimensions(){ //if foreach(Transform O in Get.o2("CABCREATORpnl", "DIMS_FIX").transform ){ O.gameObject.SetActive(false);} foreach(Transform O in Get.o2("CABCREATORpnl", "DIMS_VAR").transform ){ O.gameObject.SetActive(false);} string CValueBase =DOIT.ConvertStringToNumber(_P.List["BASE_DEPTH"]).ToString();//Base Height case only string BValueBase=( DOIT.ConvertStringToNumber(_P.List["BASE_HEIGHT"])+DOIT.ConvertStringToNumber(_P.List["KICK_HEIGHT"]) ).ToString();//Base Height with kick string DValueBase=DOIT.ConvertStringToNumber(_P.List["BASE_HEIGHT"]).ToString(); string CValueWall = DOIT.ConvertStringToNumber(_P.List["WALL_DEPTH"]).ToString();//Base Height case only string BValueWall = DOIT.ConvertStringToNumber(_P.List["WALL_HEIGHT"]).ToString();//Base Height with kick string EFValueBaseblind=( DOIT.ConvertStringToNumber(_P.List["BASE_DEPTH"]) + 2 ).ToString();//Blind string EFValueWallblind=( DOIT.ConvertStringToNumber(_P.List["WALL_DEPTH"]) + 2 ).ToString();//Blind string K=DOIT.ConvertStringToNumber(_P.List["KICK_HEIGHT"]).ToString(); string BValueTall=( DOIT.ConvertStringToNumber(_P.List["TALL_HEIGHT"])+DOIT.ConvertStringToNumber(_P.List["KICK_HEIGHT"]) ).ToString(); string DValueTall=_P.List["TALL_HEIGHT"].ToString(); string ModelName=Get.o2("CABCREATORpnl","ModelImage").GetComponent().sprite.name; switch(ModelName){ //BASE case "M.1.F": ShowDim("A","24");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);break;//BASE case "M.12.L":ShowDim("A","12");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E","2");ShowDim("F","12");break; case "M.12.R":ShowDim("A","12");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E","12");ShowDim("F","2");break; case "M.13.L":ShowDim("A","24");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E","12");ShowDim("F","12");break; case "M.13.R":ShowDim("A","24");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E","12");ShowDim("F","12");break; case "M.14.L":ShowDim("A","24");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E","4");ShowDim("F","4");break; case "M.14.R":ShowDim("A","24");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E","4");ShowDim("F","4");break; //WALL case "M.2.F":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C",CValueWall);;break;//WALL case "M.19.L":ShowDim("A","12");ShowDim("B",BValueWall);ShowDim("C",CValueWall);ShowDim("E","2");ShowDim("F","6");break;//WALL ANGLE case "M.19.R":ShowDim("A","12");ShowDim("B",BValueWall);ShowDim("C",CValueWall);ShowDim("E","6");ShowDim("F","2");break; case "M.15.L":ShowDim("A","12");ShowDim("B",BValueWall);ShowDim("C",CValueWall);ShowDim("E","6");ShowDim("F","6");break;//WALL 2 DOORS case "M.15.R":ShowDim("A","12");ShowDim("B",BValueWall);ShowDim("C",CValueWall);ShowDim("E","6");ShowDim("F","6");break; case "M.16.L":ShowDim("A","12");ShowDim("B",BValueWall);ShowDim("C",CValueWall);ShowDim("E","4");ShowDim("F","4");break;//WALL SHELF case "M.16.R":ShowDim("A","12");ShowDim("B",BValueWall);ShowDim("C",CValueWall);ShowDim("E","4");ShowDim("F","4");break; //TALL case "M.3.F":ShowDim("A","24");ShowDim("B",BValueTall);ShowDim("C",CValueBase);ShowDim("D",DValueTall);ShowDim("K",K);break;//Tall //CORNER BASE case "M.4.L":ShowDim("A","36");ShowDim("B",BValueBase);ShowDim("C","36");ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E",CValueBase);ShowDim("F",CValueBase);break; case "M.4.R":ShowDim("A","36");ShowDim("B",BValueBase);ShowDim("C","36");ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E",CValueBase);ShowDim("F",CValueBase);break; case "M.5.L":ShowDim("A","36");ShowDim("B",BValueBase);ShowDim("C","36");ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E",CValueBase);ShowDim("F",CValueBase);break; case "M.5.R":ShowDim("A","36");ShowDim("B",BValueBase);ShowDim("C","36");ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E",CValueBase);ShowDim("F",CValueBase);break; case "M.6.L":ShowDim("A","36");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E",EFValueBaseblind);break; case "M.6.R":ShowDim("A","36");ShowDim("B",BValueBase);ShowDim("C",CValueBase);ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("F",EFValueBaseblind);break; case "M.17.L":ShowDim("A","36");ShowDim("B",BValueBase);ShowDim("C","36");ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E",CValueBase);ShowDim("F",CValueBase);break; case "M.17.R":ShowDim("A","36");ShowDim("B",BValueBase);ShowDim("C","36");ShowDim("D",DValueBase);ShowDim("K",K);ShowDim("E",CValueBase);ShowDim("F",CValueBase);break; //CORNER WALL case "M.7.L":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C","24");ShowDim("E",CValueWall);ShowDim("F",CValueWall);break; case "M.7.R":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C","24");ShowDim("E",CValueWall);ShowDim("F",CValueWall);break; case "M.8.L":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C","24");ShowDim("E",CValueWall);ShowDim("F",CValueWall);break; case "M.8.R":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C","24");ShowDim("E",CValueWall);ShowDim("F",CValueWall);break; case "M.9.L":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C",CValueWall);;ShowDim("E",EFValueWallblind);break; case "M.9.R":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C",CValueWall);;ShowDim("F",EFValueWallblind);break; case "M.18.L":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C","24");ShowDim("E",CValueWall);ShowDim("F",CValueWall);break; case "M.18.R":ShowDim("A","24");ShowDim("B",BValueWall);ShowDim("C","24");ShowDim("E",CValueWall);ShowDim("F",CValueWall);break; case "MABC":;break; case "MPNL":;break; } } public static void ShowDim(string Letter, string Value){ if(string.IsNullOrEmpty(Value))Value="0"; GameObject L = Get.o2("CABCREATORpnl/DIMS_FIX", Letter); GameObject L2 = Get.o2("CABCREATORpnl/DIMS_VAR", Letter); L.SetActive(true); //A/A_Value L2.SetActive(true); //A/A_Value L.transform.Find(Letter+"_Value").GetComponent().text=Value; L2.transform.Find(Letter+"_Value").GetComponent().text=Value; } ///// PATERNS /////////////////////////////////////////// public static void AddPaternStart(){ _G.CODEPATERN=GetPatern1(); _G.CODEPATERN2=GetPatern2(); _G.D1W=DOIT.ConvertStringToNumber(_G.CODEPATERN.Split("_")[0]); _G.PW=DOIT.ConvertStringToNumber(_G.CODEPATERN.Split("_")[0]); _G.PH=DOIT.ConvertStringToNumber(_G.CODEPATERN.Split("_")[1]); if(string.IsNullOrEmpty(_G.CODEPATERN2))_G.D2W=DOIT.ConvertStringToNumber(_G.CODEPATERN2.Split("_")[0]); AddPATERN(); Get.o2("CABCREATORpnl","RowNum").GetComponent().SetValueWithoutNotify(0); } public static void AddPATERN(){ //print("PATERNPATERNPATERNPATERNPATERN===="+_G.CODEPATERN); DOIT.DELETEAllChild("CABCREATORpnl/PATERN"); float XW = DOIT.ConvertStringToNumber(_G.CODEPATERN.Split('_')[0]); float YH = DOIT.ConvertStringToNumber(_G.CODEPATERN.Split('_')[1]); float ofs1=0; Vector3 Patern2Pos=new(0,0,0); Scaling(XW,YH); GameObject DS1 = DrawPATERN( _G.CODEPATERN,1,1); GameObject PATERN = Get.o1("CABCREATORpnl/PATERN"); GameObject DS2; if (!string.IsNullOrEmpty(_G.CODEPATERN2)){ XW+=DOIT.ConvertStringToNumber(_G.CODEPATERN2.Split('_')[0]); Scaling(XW,YH); DS2 = DrawPATERN(_G.CODEPATERN2,2,-1); string ModelName=Get.o2("CABCREATORpnl","ModelImage").GetComponent().sprite.name; float ofs2=0; float PaternCentre=XW*0.5f; if (ModelName.IndexOf(".L") != -1) { ofs1=PaternCentre*sc-(DOIT.ConvertStringToNumber(_G.CODEPATERN.Split('_')[0])-0.5f)*0.5f*sc; ofs2=-PaternCentre*sc+(DOIT.ConvertStringToNumber(_G.CODEPATERN2.Split('_')[0])-0.5f)*0.5f*sc; } if (ModelName.IndexOf(".R") != -1) { ofs1=-PaternCentre*sc+(DOIT.ConvertStringToNumber(_G.CODEPATERN.Split('_')[0])-0.5f)*0.5f*sc; ofs2=PaternCentre*sc-(DOIT.ConvertStringToNumber(_G.CODEPATERN2.Split('_')[0])-0.5f)*0.5f*sc; } Scaling(XW,YH); DS2.transform.localScale = new Vector3(sc, sc, 1); DS2.transform.SetParent(PATERN.transform,false); DS2.transform.localPosition= new Vector3(ofs2, 0, 0); Patern2Pos= DS2.transform.localPosition; } Scaling(XW,YH); DS1.transform.localScale = new Vector3(sc, sc, 1); DS1.transform.SetParent(PATERN.transform,false); DS1.transform.localPosition= new Vector3(ofs1, 0, 0); //SIZE HEADER float W=DOIT.ConvertStringToNumber(_G.CODEPATERN.Split('_')[0]); float H=DOIT.ConvertStringToNumber(_G.CODEPATERN.Split('_')[1]); GameObject TextSizeDoor1=Get.o2("CABCREATORpnl/TextSizes","SizeDoor1"); Vector3 Patern1Pos= DS1.transform.localPosition; TextSizeDoor1.GetComponent().text = Del0(W) + _G.Sys+" x "+Del0(H) + _G.Sys; TextSizeDoor1.transform.localPosition=new(Patern1Pos.x,0,0); GameObject TextSizeDoor2=Get.o2("CABCREATORpnl/TextSizes","SizeDoor2"); TextSizeDoor2.GetComponent().text=""; if (!string.IsNullOrEmpty(_G.CODEPATERN2)){ W=DOIT.ConvertStringToNumber(_G.CODEPATERN2.Split('_')[0]); H=DOIT.ConvertStringToNumber(_G.CODEPATERN2.Split('_')[1]); TextSizeDoor2.GetComponent().text = Del0(W) + _G.Sys+" x "+Del0(H) + _G.Sys; TextSizeDoor2.transform.localPosition=new(Patern2Pos.x,0,0); } _G.PH=H; } public static void Scaling(float XW,float YH){ sc = 360/ YH; if(sc*XW>320)sc=320/XW; } public static GameObject DrawPATERN(string Code,int DoorNumber,int sens) { print("PATERNPATERNPATERNPATERNPATERN===2="+_G.CODEPATERN); GameObject DS = new( "doorPatern"+DoorNumber.ToString()); string[] C = Code.Split('_');//Code float sx = DOIT.ConvertStringToNumber(C[3]); float sy = DOIT.ConvertStringToNumber(C[4]); float PW = DOIT.ConvertStringToNumber(C[0]); float PH = DOIT.ConvertStringToNumber(C[1]); float px = -PW / 2f + sx / 2f; float py = PH / 2f - sy / 2f; int nd = (C.Length - 2) / 4;//number of door for (int i = 0; i < nd ; i++){ int a = 2 + 4 * i; if (i>0 ) { px += DOIT.ConvertStringToNumber(C[a-3])*0.5f+DOIT.ConvertStringToNumber(C[a+1])*0.5f ; if (px >= PW *0.5f) { _G.RTOT += 1; px = - PW / 2f + DOIT.ConvertStringToNumber(C[a+1])*0.5f ; py -= DOIT.ConvertStringToNumber(C[a-2])*0.5f + DOIT.ConvertStringToNumber(C[a+2])*0.5f; } } CreateDoor(DS, (i + 1).ToString(), C[a], DOIT.ConvertStringToNumber(C[a+1]) , DOIT.ConvertStringToNumber(C[a+2]) , px, py); if(C[a]!="dd" && C[a]!="o" && C[a]!="w" && C[a]!="c"){ Addknob(DS,(i + 1).ToString(), DOIT.ConvertStringToNumber(C[a+1]), DOIT.ConvertStringToNumber(C[a+2]), C[a+3], px, py); } if(C[a]=="dd"){ Addknob(DS,(i + 1).ToString(), DOIT.ConvertStringToNumber(C[a+1]), DOIT.ConvertStringToNumber(C[a+2])*0.5f, C[a+3], px, py+DOIT.ConvertStringToNumber(C[a+2])*0.25f); Addknob(DS,(i + 1).ToString()+"B", DOIT.ConvertStringToNumber(C[a+1]), DOIT.ConvertStringToNumber(C[a+2])*0.5f, C[a+3], px, py-DOIT.ConvertStringToNumber(C[a+2])*0.25f); } } return DS; } static void CreateDoor(GameObject ds, string N, string p, float Sx, float Sy, float Px, float Py) { string btnName = ""; GameObject Doorbtn = new(); if (p == "p") { Doorbtn = Get.o2("CABCREATORpnl/BTNPATERN", "DoorBTN"); btnName = "DOOR"; } if (p == "d") { Doorbtn = Get.o2("CABCREATORpnl/BTNPATERN", "DrawBTN"); btnName = "DRAW"; } if (p == "t") { Doorbtn = Get.o2("CABCREATORpnl/BTNPATERN", "TambBTN"); btnName = "TAMB"; } if (p == "o") { Doorbtn = Get.o2("CABCREATORpnl/BTNPATERN", "OpenBTN"); btnName = "OPEN"; } if (p == "c") { Doorbtn = Get.o2("CABCREATORpnl/BTNPATERN", "CutoBTN"); btnName = "CUTO"; } if (p == "w") { Doorbtn = Get.o2("CABCREATORpnl/BTNPATERN", "WineBTN"); btnName = "WINE"; } if (p == "g") { Doorbtn = Get.o2("CABCREATORpnl/BTNPATERN", "GlasBTN"); btnName = "GLAS"; } if (p == "dd") { Doorbtn = Get.o2("CABCREATORpnl/BTNPATERN", "DoubBTN"); btnName = "DOUB"; } GameObject R = Instantiate(Doorbtn, new Vector3(0, 0, 0), Quaternion.identity); R.SetActive(true); R.name = btnName + N.ToString(); R.transform.Find("Background").transform.GetComponent().sizeDelta = new (Sx, Sy); R.transform.Find("Background").transform.Find("Checkmark").transform.GetComponent().sizeDelta = new (Sx, Sy); if (p == "o" || p == "w" || p == "t" || p == "c" || p == "g" ) { R.transform.Find("Image").transform.GetComponent().sizeDelta = new (Sx, Sy); } R.transform.position = new Vector3(Px, Py, 0); R.transform.SetParent(ds.transform, true); R.GetComponent().isOn=false; UILineRenderer ui = R.transform.Find("Background").GetComponent(); Vector2 p1,p2,p3,p4,p5,p6,p7,p8; if(p != "dd"){ p1 = new (0, 0); p2 = new (0, Sy); p3 = new (Sx, Sy); p4 = new (Sx, 0); p5 = new (0,0); List pointlist = new(){p1, p2,p3, p4, p5}; ui.Points = pointlist.ToArray(); ui.LineThickness = 120 / (sc * 100); ui.color = Color.white; } if(p == "dd"){ p1 = new (0,0); p2 = new (0, Sy); p3 = new (Sx, Sy); p4 = new (Sx, Sy/2); p5 = new (0,Sy/2); p6 = new (0, 0); p7 = new (Sx, 0); p8 = new (Sx ,Sy/2); List pointlist = new(){p1, p2,p3, p4, p5 , p6, p7, p8}; ui.Points = pointlist.ToArray(); ui.LineThickness = 120 / (sc * 100); ui.color = Color.white; } } static void Addknob(GameObject DS,string N, float sx, float sy, string pos, float px, float py) { GameObject Knob = Get.o2("BTNPATERN", "knobMarkwhite"); GameObject K = Instantiate(Knob, new Vector3(0, 0, 0), Quaternion.identity); if(pos!="0")K.SetActive(true); K.name = "k" + N; K.transform.GetComponent().sizeDelta = new (3, 3); if (pos == "1") { px = px - sx / 2 + 2; py = py + sy / 2 - 2; } if (pos == "2") { py = py + sy / 2 - 2; } if (pos == "3") { px = px + sx / 2 - 2; py = py + sy / 2 - 2; } if (pos == "4") { px = px - sx / 2 + 2; } if (pos == "5") { } if (pos == "6") { px = px + sx / 2 - 2; } if (pos == "7") { px = px - sx / 2 + 2; py = py - sy / 2 + 2; } if (pos == "8") { py = py - sy / 2 + 2; } if (pos == "9") { px = px + sx / 2 - 2; py = py - sy / 2 + 2; } K.transform.position = new Vector3(px, py, 0); float scale = 6f / sc; K.transform.localScale = new Vector3(scale, scale, 1); K.transform.SetParent(DS.transform); } static string Del0(float FV) { string SV = FV.ToString("F3"); if (SV.IndexOf(".") != -1) { if (SV.Substring(SV.Length - 1, 1) == "0") SV = SV.Substring(0, SV.Length - 1); if (SV.Substring(SV.Length - 1, 1) == "0") SV = SV.Substring(0, SV.Length - 1); if (SV.Substring(SV.Length - 1, 1) == "0") SV = SV.Substring(0, SV.Length - 1); if (SV.Substring(SV.Length - 1, 1) == ".") SV = SV.Substring(0, SV.Length - 1); } return SV; } public static void ResetDoorWide(float value){ //GET CODE START string CODEPARTERN; string VF; if(GetDoorNumber()=="2"){CODEPARTERN=_G.CODEPATERN2; VF=_G.VF2;} else {CODEPARTERN=_G.CODEPATERN;VF=_G.VF;} string DOORNumber=Get.o2("CABCREATORpnl/FACEpnl","Dnum").GetComponent().text; float WideOfPatern=DOIT.ConvertStringToNumber(CODEPARTERN.Split('_')[0]); int nD=(CODEPARTERN.Split('_').Length-2)/4;//Number of doors string[] Rows=VF.Split('_'); string Row="1"; for(int i=0; i=WideOfPatern){ value=WideOfPatern-doorQtyinRow+1; } if(doorQtyinRow==1){ value=WideOfPatern; } float DistributeValue=(W-value)/(doorQtyinRow-1); //ADD VALUE TO DOOR INTO CODEPATERN codepatern[3+(indDoorNumber-1)*4]=value.ToString(); //ADD DISTRIBUTE VALUE INTO CODEPATERN for(int i=0; i().text=value.ToString(); } ///// ROW EDIT /////////////////////////////////////////// public static void ROW_EDIT(){ DOIT.DELETEAllChild("CABCREATORpnl/ROWEDITS"); string VF; if(GetDoorNumber()=="1"){VF=_G.VF;} else {VF=_G.VF2;} int RT=VF.Split('_').Length; string[] div=VF.Split('_'); AddRowEdit(1, GetRowYH(1,"Y"),div[0].Split('.').Length-1); if (RT > 1) { AddRowEdit(2, GetRowYH(2,"Y"),div[1].Split(',').Length-1); } if (RT > 2) { AddRowEdit(3, GetRowYH(3,"Y"),div[2].Split('.').Length-1); } if (RT > 3) { AddRowEdit(4, GetRowYH(4,"Y"),div[3].Split('.').Length-1); } if (RT > 4) { AddRowEdit(5, GetRowYH(5,"Y"),div[4].Split('.').Length-1); } if (RT > 5) { AddRowEdit(6, GetRowYH(6,"Y"),div[5].Split('.').Length-1); } } static void AddRowEdit(int Ns, float RY, int div) { GameObject ROWEDIT = Get.o2("CABCREATORpnl/","ROWEDIT"); GameObject EDITROW = Instantiate(ROWEDIT, new Vector3(0, 0, 0), Quaternion.identity); EDITROW.SetActive(true); EDITROW.name = "editRow" + Ns; string path = "CABCREATORpnl/ROWEDITS"; if (_G.PNL == "NewCAB") { path = "CABINETpnl/ADDINPUTS/ROWEDITS"; } GameObject ROWEDITS = Get.o1(path); EDITROW.transform.SetParent(ROWEDITS.transform, false); EDITROW.transform.localPosition = new Vector3(0, RY* sc, 0); Get.o2(EDITROW.name, "InputField_HR").GetComponent().text = GetRowYH(Ns,"H").ToString(); Get.o2(EDITROW.name, "DivDrop").GetComponent().SetValueWithoutNotify(div-1); } public static void ChangeRowHeight(GameObject O){ print("O.name======================="+O.name); CODE.GetDiv(_G.CODEPATERN); string papaName = O.transform.parent.name; float RowH = DOIT.ConvertStringToNumber(O.GetComponent().text); print("papaName = "+papaName+" RowH=="+RowH); RedoPaternRowSizes(papaName,RowH); AddPATERN(); RedoEditRow(); RedoLock(); } public static void RedoPaternRowSizes(string papa,float RowH){ int RT=GetRowTotal();//TRowTotal if (RT == 1) RowH = _G.PH; if (papa == "editRow1") { SetRow(1, RowH,RT); } if (papa == "editRow2") { SetRow(2, RowH,RT); } if (papa == "editRow3") { SetRow(3, RowH,RT); } if (papa == "editRow4") { SetRow(4, RowH,RT); } if (papa == "editRow5") { SetRow(5, RowH,RT); } if (papa == "editRow6") { SetRow(6, RowH,RT); } } public static void RedoLock(){ string[] FV; if(GetDoorNumber()=="1")FV=_G.VF.Split('_'); else FV=_G.VF2.Split('_'); for(int i=0; i().isOn =true; } } } public static void SetRow(int ROWTARGET,float RowH,int RT ) { float DivByAll=0; float AllFix=0; float AllVar=0; string[] FV; if(GetDoorNumber()=="1")FV=_G.VF.Split('_'); else FV=_G.VF2.Split('_'); int[] Lock={0,0,0,0,0,0,}; for(int i=0; i _G.PH) { RowH = _G.PH - AllFix - AllVar; } float UNLOCKTOTAL=RT-1-Lock[0]-Lock[1]-Lock[2]-Lock[3]-Lock[4]-Lock[5];//should be 2 if(UNLOCKTOTAL!=0)DivByAll=(_G.PH - RowH - AllFix)/UNLOCKTOTAL; if(DivByAll<=0){RowH=_G.PH - AllFix;} for(int i=0; i().value+1; DIV(gameObject,value); if(GetDoorNumber()=="1")_G.VF=GetFromPanel(); if(GetDoorNumber()=="2")_G.VF2=GetFromPanel(); } public static void DIV(GameObject O,int DivNum) { string papa = O.transform.parent.name; DOIT.DELETEAllChild("CABCREATORpnl/PATERN"); int indPapa=int.Parse(papa.Replace("editRow","")); float RH = DOIT.ConvertStringToNumber(O.transform.parent.transform.Find("InputField_HR").GetComponent().text); string BC = CodeString("p", _G.D1W / DivNum, RH, "5"); string BCT = ""; if (DivNum == 1) { BCT = BC; } if (DivNum == 2) { BCT = BC + "_" + BC; } if (DivNum == 3) { BCT = BC + "_" + BC + "_" + BC; } if (DivNum == 4) { BCT = BC + "_" + BC + "_" + BC + "_" + BC; } //REDO CODEPATERN int RowTotal=GetRowTotal(); string[] pat=GetDoorPatern().Split('_'); string patern=pat[0]+"_"+pat[1]+"_"; string newRow; for(int i=1; i().isOn; DIV=ROWEDITS.transform.GetChild(i).transform.Find("DivDrop").GetComponent().value+1; vf="v";if(Lock)vf="f"; for(int d=0; d().value+1; print("value===="+value); DOIT.DELETEAllChild("CABCREATORpnl/PATERN"); //Create a new CODEPARTERN string Code=GetDoorPatern(); string W=Code.Split('_')[0]; string H=Code.Split('_')[1]; string h=(DOIT.ConvertStringToNumber(H)/value).ToString(); string NewCode=W+"_"+H+"_"; string NewVF=""; string[] VF; if(GetDoorNumber()=="1"){VF = _G.VF.Split('_');} else {VF = _G.VF2.Split('_');} int VFCount=VF.Length; for(int i=0; i ListDoor=GetListDoor(); if(ListDoor.Contains("All Doors")){ ListDoor.Remove("All Doors");} if(!ListDoor.Contains(NewDoor)){ ListDoor.Add(NewDoor);} RefreshShownValue(ListDoor); } public void BTN_MINUS(){ string DoorToDelete=GetDoorFromDropdown(); List ListDoor=GetListDoor(); if(ListDoor.Contains(DoorToDelete)){ ListDoor.Remove(DoorToDelete);} if(ListDoor.Count==0){ ListDoor.Add("All Doors");} RefreshShownValue(ListDoor); } public string GetDoorFromDropdown(){ TMP_Dropdown DoorDropdown=Get.o2("CABCREATORpnl/DOORLIST","DropModels").GetComponent(); return DoorDropdown.options[DoorDropdown.value].text; } public List GetListDoor(){ TMP_Dropdown ListDropdown = Get.o2("CABCREATORpnl/DOORLIST","DropYouLibrary").GetComponent(); List ListDoor=new(); foreach (TMP_Dropdown.OptionData option in ListDropdown.options) { ListDoor.Add(option.text); } return ListDoor; } public void RefreshShownValue(List ListDoor){ TMP_Dropdown ListDropdown = Get.o2("CABCREATORpnl/DOORLIST","DropYouLibrary").GetComponent(); ListDropdown.ClearOptions(); ListDropdown.AddOptions(ListDoor); ListDropdown.RefreshShownValue(); Get.o2("CABCREATORpnl/DOORLIST","ToggleAllModel").GetComponent().isOn=ListDoor.Contains("All Doors"); } public void DoorNumberSelect(){ print("Door number==="+name); RedoEditRow(); } public static void RedoEditRow() { DOIT.DELETEAllChild("ROWEDITS"); string VF; if(GetDoorNumber()=="1"){VF=_G.VF;} else {VF=_G.VF2;} int RT=VF.Split('_').Length; string[] div=VF.Split('_'); AddRowEdit(1, GetRowYH(1,"Y"),div[0].Split('.').Length-1); if (RT > 1) { AddRowEdit(2, GetRowYH(2,"Y"),div[1].Split(',').Length-1); } if (RT > 2) { AddRowEdit(3, GetRowYH(3,"Y"),div[2].Split('.').Length-1); } if (RT > 3) { AddRowEdit(4, GetRowYH(4,"Y"),div[3].Split('.').Length-1); } if (RT > 4) { AddRowEdit(5, GetRowYH(5,"Y"),div[4].Split('.').Length-1); } if (RT > 5) { AddRowEdit(6, GetRowYH(6,"Y"),div[5].Split('.').Length-1); } } ///// GETTING //////////////////////////////////////////////////////////////////////////// static string GetPatern1(){ string Model=Get.o2("CABCREATORpnl","ModelImage").GetComponent().sprite.name; int SetSenesvalue=Get.o2("CABCREATORpnl","SENS").GetComponent().value; float A=GetValueLetter("A"); float B=GetValueLetter("B"); float C=GetValueLetter("C"); //float D=GetValueLetter("D"); float E=GetValueLetter("E"); float F=GetValueLetter("F"); float DH=B; float DW=A; string KPos="3"; if(SetSenesvalue==3)KPos="1"; _G.VF="1.v"; string MN=Model.Split('.')[1]; if(MN=="1" || MN=="3" || MN=="4" || MN=="5" || MN=="6" || MN=="12" || MN=="13"|| MN=="14" || MN=="17" ){ DH=GetValueLetter("D"); } if(MN=="4" || MN=="7" || MN=="12" || MN=="13" || MN=="14" || MN=="15" || MN=="16"|| MN=="17" || MN=="18" || MN=="19"){ if(Model.IndexOf(".L")!=-1){ DW=Mathf.Sqrt((A-E)*(A-E)+(C-F)*(C-F)); } if(Model.IndexOf(".R")!=-1){ DW=Mathf.Sqrt((A-F)*(A-F)+(C-E)*(C-E)); } } if(MN=="5" || MN=="8"){ if(Model.IndexOf(".L")!=-1){ DW=A-E; } if(Model.IndexOf(".R")!=-1){ DW=A-F; } } if(MN=="6" || MN=="9"){ if(Model.IndexOf(".L")!=-1){ DW=A-E; } if(Model.IndexOf(".R")!=-1){ DW=A-F; } } if(MN=="2" || MN=="7" || MN=="8" || MN=="9" || MN=="15" || MN=="18" || MN=="19"){ KPos="9"; if(SetSenesvalue==3)KPos="7"; } if(MN=="3" ){ KPos="6"; if(SetSenesvalue==3)KPos="4"; } string patern=DW.ToString()+"_"+DH.ToString()+"_p_"+DW.ToString()+"_"+DH.ToString()+"_"+KPos; if(MN=="14" || MN=="16"){ patern=DW.ToString()+"_"+DH.ToString()+"_o_"+DW.ToString()+"_"+(DH/3).ToString()+"_0_o_"+DW.ToString()+"_"+(DH/3).ToString()+"_0_o_"+DW.ToString()+"_"+(DH/3).ToString()+"_0"; _G.VF="1.v_2.v_3.v"; } return patern; } static string GetPatern2(){//5, 8 , 13, 15 string Model=Get.o2("CABCREATORpnl","ModelImage").GetComponent().sprite.name; string Sens=Get.o2("CABCREATORpnl","ModelImage").GetComponent().sprite.name; float A=GetValueLetter("A"); float B=GetValueLetter("B"); float C=GetValueLetter("C"); float D=GetValueLetter("D"); float E=GetValueLetter("E"); float F=GetValueLetter("F"); float DH=GetValueLetter("B"); float DW=A; string MN=Model.Split('.')[1]; _G.VF2="1.v"; if(MN=="5" || MN=="13" ){ DH=GetValueLetter("D"); } if(MN=="5" || MN=="8"){ if(Model.IndexOf(".L")!=-1){ DW=C-F; } if(Model.IndexOf(".R")!=-1){ DW=C-E; } } if(MN=="13" || MN=="15"){ if(Model.IndexOf(".L")!=-1){ DW=E; } if(Model.IndexOf(".R")!=-1){ DW=F; } } string patern=""; if(MN=="5" || MN=="8"|| MN=="13"|| MN=="15"){ patern=DW.ToString()+"_"+DH.ToString()+"_p_"+DW.ToString()+"_"+DH.ToString()+"_0"; } return patern; } public static float GetValueLetter(string L){ string path="CABCREATORpnl/DIMS_FIX/"; if(Get.o2(_G.PON,"FIX_VAR").GetComponent().value==1)path="CABCREATORpnl/DIMS_VAR/"; if(Get.o2(path, L)!=null){return DOIT.ConvertStringToNumber(Get.o2(path+L, L+"_Value").GetComponent().text); } return 0; } public static string GetDoorNumber(){ GameObject doornumberToggle=Get.o2("CABCREATORpnl","DoorNumber"); if(doornumberToggle.activeInHierarchy){ return Get.TogOn(doornumberToggle).name;} return "1"; } public static float GetRowYH(int Row, string HY){ string[] DP=GetDoorPatern().Split('_');//DOOR PATERN float Y=DOIT.ConvertStringToNumber(DP[1])*0.5f; float H=0; float W=DOIT.ConvertStringToNumber(DP[0]); float WL=0; float[] ROWH = { 0, 0, 0, 0, 0, 0 }; float[] ROWY = { 0, 0, 0, 0, 0, 0 }; int RN=0;//Row number for(int i=3; i=W){ ROWH[RN]=DOIT.ConvertStringToNumber(DP[i+1]); ROWY[RN]=Y-H-DOIT.ConvertStringToNumber(DP[i+1])*0.5f; H+=ROWH[RN]; RN+=1; WL=0; } } if(HY=="H")return ROWH[Row-1]; if(HY=="Y")return ROWY[Row-1]; return 0; } public static string GetDoorPatern(){ if(GetDoorNumber()=="2"){ return _G.CODEPATERN2;} return _G.CODEPATERN; } public static string GetRowCode(int Row){ string[] DP=GetDoorPatern().Split('_');//DOOR PATERN float W=DOIT.ConvertStringToNumber(DP[0]); float WL=0; string[] ROWC = { "", "", "", "", "", "" }; int RN=0;//Row number for(int i=3; i=W){ RN+=1; WL=0; } } return ROWC[Row-1]; } public static int GetRowTotal(){ return Get.o2("CABCREATORpnl","ROWEDITS").transform.childCount; } public static string GetModelCategory(){ string model=""; int value=Get.o2("CABCREATORpnl","CATEGORY").transform.GetComponent().value; switch(value){ case 0:case 1: case 2:case 3:model="BASE";break; case 4:case 5:case 6:case 7: model="WALL";break; case 8: model="TALL";break; case 9:case 10:case 11: model="CBASE";break; case 12:case 13:case 14:model="CWALL";break; } return model; } public static bool GetFromSwitch(string Switch){ GameObject S = Get.o2("CABCREATORpnl/OPTIONS/OptionsList/Viewport/Content/"+Switch,"S"); if(S!=null)return S.GetComponent().isOn; return false; } public static string GetFromInput(string i){ string value="0"; print("i===="+i); GameObject I = Get.o2("CABCREATORpnl/OPTIONS/OptionsList/Viewport/Content/"+i,"I"); if(I!=null)return DOIT.CSs(I.GetComponent().text); return value; } public static int GetFromDrop(string d){ int value=0; GameObject D = Get.o2("CABCREATORpnl/OPTIONS/OptionsList/Viewport/Content/"+d,"D"); if(D!=null)return D.GetComponent().value; return value; } public static string GetAbrPanelFromDrop(string d){ GameObject D = Get.o2("CABCREATORpnl/OPTIONS/OptionsList/Viewport/Content/"+d,"D"); int value=0; if(D!=null)value=D.GetComponent().value; return value switch{ 0=>"Std", 1=>"Notch", 2=>"Over", 3=>"None", _=> "Std" }; } public static string GetAbrPanelFromDropTop(string d){ GameObject D = Get.o2("CABCREATORpnl/OPTIONS/OptionsList/Viewport/Content/"+d,"D"); int value=0; if(D!=null)value=D.GetComponent().value; return value switch{ 0=>"Strech", 1=>"BackStrech", 2=>"Full", 3=>"None", _=> "Std" }; } public static string GetKickModel(){ string KickModel=""; if(GetFromSwitch_yn("ADD_LEGS")=="y") KickModel+= "LEGS"; if(GetFromSwitch_yn("FRONT_KICK")=="y") {KickModel+= "KICK";} else if(GetFromSwitch_yn("LEFT_KICK")=="y") {KickModel+= "KICK";} else if(GetFromSwitch_yn("BACKLEFT_KICK")=="y") {KickModel+= "KICK";} else if(GetFromSwitch_yn("RIGHT_KICK")=="y") {KickModel+= "KICK";} else if(GetFromSwitch_yn("BACKRIGHT_KICK")=="y") {KickModel+= "KICK";} else if(GetFromSwitch_yn("BACK_KICK")=="y") {KickModel+= "KICK";} return KickModel; } public static string GetKickRecipe(){ string model=GetModelCab(); string KH=GetFromInput("KICK_HEIGHT"); string[] C=new string[]{KH,"0","0","0","0","0","0","0"}; if(model=="B1" || model=="T1"){ C[1]=GetFromSwitch_01("LEFT_KICK"); C[2]=GetFromSwitch_01("BACK_KICK"); C[3]=GetFromSwitch_01("RIGHT_KICK"); C[4]=GetFromSwitch_01("FRONT_KICK"); } if(new List{"B2","B3","B4","B5","B9","B10"}.Contains(model)){ C[1]=GetFromSwitch_01("LEFT_KICK"); C[2]=GetFromSwitch_01("BACK_KICK"); C[3]=GetFromSwitch_01("BACK_KICK"); C[4]=GetFromSwitch_01("RIGHT_KICK"); C[5]=GetFromSwitch_01("FRONT_KICK"); C[6]=GetFromSwitch_01("FRONT_KICK"); } if(new List{"B4","B5","B6","B7"}.Contains(model)){ C[1]=GetFromSwitch_01("LEFT_KICK"); C[2]=GetFromSwitch_01("BACK_KICK"); C[3]=GetFromSwitch_01("BACK_KICK"); C[4]=GetFromSwitch_01("RIGHT_KICK"); C[5]=GetFromSwitch_01("FRONT_KICK"); } string code=""; for(int i=0; i<8; i++){ code+=C[i]; if(i<7) code+="_"; } return code; } public static string GetRetractionRecipe(){ string model=GetModelCab(); string[] C=new string[]{"0","0","0","0","0","0","0"}; string F=GetFromInput("KICK_FRONT_RETRACTION"); string L=GetFromInput("KICK_LEFT_RETRACTION"); string R=GetFromInput("KICK_RIGHT_RETRACTION"); string B=GetFromInput("KICK_BACK_RETRACTION"); if(model=="B1"){ C[0]=L; C[1]=B; C[2]=R; C[3]=F; } if(new List{"B2","B3","B4","B5","B9","B10"}.Contains(model)){ C[0]=L; C[1]=B;C[2]=B; C[3]=R; C[4]=F; C[5]=F; } string code=""; for(int i=0; i<7; i++){ code+=C[i]; if(i<6) code+="_"; } return code; } public static string GetCounterRecipe(){ string model=GetModelCab(); string[] C=new string[]{GetFromInput("COUNTER_HEIGHT"),"0","0","0","0","0","0","0"}; if(model=="B1"){ C[4]=GetFromInput("COUNTER_FRONT_PROJECTION"); } if(new List{"B2","B3","B9","B10"}.Contains(model)){ C[5]=GetFromInput("COUNTER_FRONT_PROJECTION"); C[6]=GetFromInput("COUNTER_FRONT_PROJECTION"); } if(new List{"B4","B5","B9","B10"}.Contains(model)){ C[5]=GetFromInput("COUNTER_FRONT_PROJECTION"); } string code=""; for(int i=0; i<8; i++){ code+=C[i]; if(i<7) code+="_"; } return code; } public static string GetInteriorFinish(){ string[] C=new string[]{"0","0","0","0","0","0","0"}; string model=GetModelCab(); if(model=="B1"|| model=="T1"|| model=="W1"){ C[0]=GetFromSwitch_01("FINISH_INT_LEFT"); C[1]=GetFromSwitch_01("FINISH_INT_BACK"); C[2]=GetFromSwitch_01("FINISH_INT_RIGHT"); } if(new List(){"B2","B3","B4","B5","B6","B7","B9","B10","W2","W3","W4","W5","W6","W","W9","W10"}.Contains(model)){ C[0]=GetFromSwitch_01("FINISH_INT_LEFT"); C[1]=GetFromSwitch_01("FINISH_INT_BACKLEFT"); C[2]=GetFromSwitch_01("FINISH_INT_BACKRIGHT"); C[3]=GetFromSwitch_01("FINISH_INT_RIGHT"); } C[5]=GetFromSwitch_01("FINISH_INT_UNDER"); C[6]=GetFromSwitch_01("FINISH_INT_TOP"); string code=""; for(int i=0; i<7; i++){ code+=C[i]; if(i<6)code+="_"; } return code; } public static string GetExteriorFinish(){ string[] C=new string[]{"0","0","0","0","0","0","0"}; string model=GetModelCab(); if(model=="B1" || model=="T1" || model=="W1"){ C[0]=GetFromSwitch_01("FINISH_EX_LEFT"); C[1]=GetFromSwitch_01("FINISH_EX_BACK"); C[2]=GetFromSwitch_01("FINISH_EX_RIGHT"); } if(new List(){"B2","B3","B4","B5","B6","B7","B9","B10","W2","W3","W4","W5","W6","W","W9","W10"}.Contains(model)){ C[0]=GetFromSwitch_01("FINISH_EX_LEFT"); C[1]=GetFromSwitch_01("FINISH_EX_BACKLEFT"); C[2]=GetFromSwitch_01("FINISH_EX_BACKRIGHT"); C[3]=GetFromSwitch_01("FINISH_EX_RIGHT"); } C[5]=GetFromSwitch_01("FINISH_EX_UNDER"); C[6]=GetFromSwitch_01("FINISH_EX_TOP"); string code=""; for(int i=0; i<7; i++){ code+=C[i]; if(i<6)code+="_"; } return code; } public static string GetSidePanelRecipe(){ string[] C=new string[]{"Std","Std","Std","Std","Std","Std","Full"}; string model=GetModelCab(); if(model=="B1" || model=="T1"){ C[0]=GetAbrPanelFromDrop("LEFT_PANEL");//LEFT_PANEL C[1]=GetAbrPanelFromDrop("BACK_PANEL"); C[2]=GetAbrPanelFromDrop("RIGHT_PANEL"); } if(Get.Bool(model,"B2_B3_B4_B5_B6_B7") ){ C[0]=GetAbrPanelFromDrop("LEFT_PANEL"); C[1]=GetAbrPanelFromDrop("BACKLEFT_PANEL"); C[2]=GetAbrPanelFromDrop("BACKRIGHT_PANEL"); C[3]=GetAbrPanelFromDrop("RIGHT_PANEL"); } if(Get.Bool(model,"B1_B2_B3_B4_B5_B6_B7_T2") ){ C[6]=GetAbrPanelFromDropTop("TOP_PANEL"); } string code=""; for(int i=0; i<7; i++){ code+=C[i]; if(i<6)code+="_"; } return code; } public static string GetModelCab(){ string model=""; int value=Get.o2("CABCREATORpnl","CATEGORY").transform.GetComponent().value; switch(value){ //BASE case 0: model="B1";break; case 1: model="B6";break; case 2: model="B11";break; case 3: model="B6";break;//Shelf //WALL case 4: model="W1";break; case 5: model="W6";break; case 6: model="W11";break; case 7: model="W6";break;//Shelf //TALL case 8: model="T1";break; //CORNER BASE case 9: model="B9";break; case 10: model="B2";break; case 11: model="B4";break; //CORNER WALL case 12: model="W9";break; case 13: model="W2";break; case 14: model="W4";break; } int Sens=Get.o2("CABCREATORpnl","SENS").transform.GetComponent().value; if(Sens==3){ switch(model){ case "B2":model="B3";break; case "B4":model="B5";break; case "B6":model="B7";break; case "B9":model="B10";break; case "B11":model="B12";break; case "B19":model="B20";break; case "B26":model="B27";break; case "W2":model="W3";break; case "W4":model="W5";break; case "W6":model="W7";break; case "W9":model="W10";break; case "W11":model="W12";break; case "W19":model="W20";break; case "W26":model="W27";break; } } return model; } public static string GetShelfRecipe(){ int ROWS=Get.o2("CABCREATORpnl","RowNum").GetComponent().value+1; string S=""; if(ROWS==1){ S+="1."+GetFromInput("SHELF_QTY");} else{ for(int i=1; i().isOn){return "y";} return "n"; } public static string GetFromSwitch_01(string Switch){ GameObject S=Get.o2("CABCREATORpnl/OPTIONS/OptionsList/Viewport/Content/",Switch); if(S!=null && S.transform.Find("S").GetComponent().isOn)return "1"; return "0"; } ////ADD TO SCENE/////////////////////////////////////////// public void AddToScene(){ print("_G.CODEPATERN===="+_G.CODEPATERN); SceneModeManager.Instance.SetSceneMode("AC1"); _G.SC = new string[100]; SetSC("A", 6); SetSC("B", 7); SetSC("C", 8); //SetSC("D", 7); SetSC("E", 28); SetSC("F", 29); SetSC("K", 10); //print("w===cc=="+_G.SC[6]+"h==="+_G.SC[7]+"d==="+_G.SC[8]); _G.SC[73]="KICKS"; if(GetFromSwitch("ADD_LEGS")){_G.SC[73]="KICKS_LEGS";} _G.SC[60] ="Creator"; //_G.SC[5]= _G.SC[4] = GetModelCab();print("_G.SC[4]===="+_G.SC[4]); _G.SC[5] = GetModelCategory();print("_G.SC[5]===="+_G.SC[5]); //_G.SC[5]="BASE"; _G.SC[14] = _P.List["COUNTER_HEIGHT"]; _G.SC[34]=GetKickRecipe();//Kicks depend cab model _G.SC[39]=GetRetractionRecipe();//Kicks depend cab model _G.SC[78]="Notch_Std_Notch_None_None_Std_Full"; _G.SC[83]=GetSidePanelRecipe();//Kicks depend cab model _G.SC[87]="0_0_0_0_0_0_0";//Kicks depend cab model _G.SC[88]=GetShelfRecipe(); _G.SC[42]=_G.CounterHeight.ToString(); switch(_G.SC[4]){ case "B1":_G.SC[42]+="_0_0_0_1.75_0_0_0";break; case "B2": case "B3": case "B9":case "B10":_G.SC[42]+="_0_0_0_0_1.75_1.75_0";break; case "B4":case "B5":_G.SC[42]+="_0_0_0_0_1.75_0_0";break; } int Catvalue = Get.o2("CABCREATORpnl","CATEGORY").GetComponent().value; if(new List{4,5,6,7}.Contains(Catvalue) ) { float CabinetHeight=DOIT.ConvertStringToNumber(Get.o2("CABCREATORpnl/DIMS/B", "B_Value").GetComponent().text); float FromCeiling=DOIT.ConvertStringToNumber( GetFromInput("CAB_FROM_CEILING")); float FromFloor =_G.HEIGHT-CabinetHeight-FromCeiling; _G.SC[21]=FromFloor.ToString(); } else {_G.SC[21]=GetFromInput("FROM_FLOOR");} DOIT.CloseALLPNL(); _M.PH(3, 230, "ffffff", 1, 1); PAINT.SEL = "ON"; SceneModeManager.Instance.SetSceneMode(SceneModes.Install); _G.addOBJ = "cabi"; SceneModeManager.Instance.SetSceneMode("AAC2 " + SceneModeManager.Instance._currentSM.ToString()); } void SetSC(string L, int i) { if (Get.o2("CABCREATORpnl/DIMS_FIX/"+L, L+"_Value")!=null) { _G.SC[i] = Get.o2("CABCREATORpnl/DIMS_FIX/"+L, L+"_Value").GetComponent().text; } } public void Fix_Var(){ int value=transform.gameObject.GetComponent().value; print("value===="+value); GameObject FIX=Get.o2(_G.PON,"DIMS_FIX"); GameObject VAR=Get.o2(_G.PON,"DIMS_VAR"); bool isOn=true; if(value==1){isOn=false;} Set.alpha(FIX,isOn); Set.alpha(VAR,!isOn); } public void AddToYourLibrary(){ //_G.CODEPATERN=GetPatern1(); //_G.CODEPATERN2=GetPatern2(); print("_G.CODEPATERN===="+_G.CODEPATERN); GameObject OptionPnl=Get.o2("CABCREATORpnl","OPTIONS"); Set.alpha(OptionPnl,false); GameObject INPUTS=Get.o2(_G.PON,"INPUTS"); if(INPUTS.GetComponent().alpha==0){ Set.alpha(INPUTS,true); //NEWCAB.AddSubCategory(); //NEWCAB.AddLibrary(); } else{ AddToLibrary.Cabinet(); } } }