using UnityEngine; public class ConstructWALL : MonoBehaviour { public static void AddCab(int nO) { string[] C = _G.OBJs[nO]; string Name = C[0]; string PLR = C[23]; float W = DOIT.ConvertStringToNumber(C[6]); float HB = DOIT.ConvertStringToNumber(C[7]); float DB = DOIT.ConvertStringToNumber(C[8]);//Depth Box float DoorThickness = Get.DoorThickness(nO); float DBD = DOIT.ConvertStringToNumber(C[8]) + DoorThickness;//Depth Box+Door float px = DOIT.ConvertStringToNumber(C[15]); float py = DOIT.ConvertStringToNumber(C[16]); float pz = DOIT.ConvertStringToNumber(C[17]); float rx = DOIT.ConvertStringToNumber(C[18]); float ry = DOIT.ConvertStringToNumber(C[19]); float rz = DOIT.ConvertStringToNumber(C[20]); float t = DOIT.ConvertStringToNumber(C[9]);//tickness float fw50 = DOIT.ConvertStringToNumber(C[52]); float fw51 = DOIT.ConvertStringToNumber(C[53]); float OS1 = 0;//Offset Left float OS2 = 0;//Offset Back float OS3 = 0;//Offset Right float OS4 = 0;//Offset Front //string[] C81 = C[81].Split(','); Vector3 CenterBox; float backBox, frontBox, leftBox, rightBox; float OFO = -t * 0.5f;//Ogee Fascia OffSet; // if (C81[0] != "0") OS1 = 0.625f; // if (C81[1] != "0") OS2 = 0.625f; // if (C81[2] != "0") OS3 = 0.625f; if (C[50].Split('?')[0] != "NONE") { fw50 = DOIT.ConvertStringToNumber(C[50].Split("?")[3]); } if (C[51].Split('?')[0] != "NONE") { fw51 = DOIT.ConvertStringToNumber(C[51].Split("?")[3]); } if (C[49] == "COLLISION") { OS1 += fw50; OS3 += fw51; } OS4 += DoorThickness; C[73] = "1"; string UniqueName = UIT.Value(Library.Cabinet, C[1], Header.Unique_Name); // print("UnderCategory===="+UniqueName); // if(UniqueName.IndexOf("KE-HMO24")!=-1){ // C[78]="Std_Std_Std_Std_Std_Projection2_Full"; // } //BASE GameObject BASE = GameObject.CreatePrimitive(PrimitiveType.Cube);//new GameObject(); BASE.transform.localScale = new Vector3(W + OS1 + OS3 + 0.5f, HB + 0.5f, DB + 0.5f + OS2 + OS4); Vector3 VolumeBase = BASE.transform.localScale; //CenterBox = new(-VolumeBase.x * 0.5f + 0.25f + OS1 + W * 0.5f, 0, -VolumeBase.z * 0.5F + 0.25f + OS4 + DB * 0.5f); CenterBox = new(-VolumeBase.x * 0.5f + 0.25f + OS1 + W * 0.5f, 0, -VolumeBase.z * 0.5F + 0.25f + OS4 + DB * 0.5f); BASE.name = Name; BASE.transform.parent = GameObject.Find("SCENE").transform; BASE.tag = "cabwall"; backBox = CenterBox.z + DB * 0.5f; //print("CenterBox.x======="+CenterBox.x); //BOX POSITION backBox = CenterBox.z + DB * 0.5f; frontBox = CenterBox.z - DB * 0.5f; leftBox = CenterBox.x - W * 0.5f; rightBox = CenterBox.x + W * 0.5f; //SIDES CODE.GetDiv(C[25]); DOSIDE.PNLNew(BASE, nO, 0, DB * 0.5f, HB, 0, 0, t, CenterBox, 0); //DOOR if (C[61] != "none") { C[25] = DC.Resize(C[25], W, HB, nO); string[] codeD1 = C[25].Split("_"[0]); GameObject DOOR = Createdoor.Patern(codeD1, nO); DOOR.transform.position = new Vector3(CenterBox.x, 0, backBox - DB - DoorThickness * 0.5f); DOOR.transform.parent = BASE.transform; } //FILLER GameObject FL; GameObject FR; if (C[50].Split('?')[0] != "NONE") { FL = CreateBoxPnl.Filler("FL", fw50, HB, t, leftBox - fw50 * 0.5f, 0, frontBox + t * 0.5f, 0, 0, 0, C[50]); FL.transform.parent = BASE.transform; } if (C[51].Split('?')[0] != "NONE") { FR = CreateBoxPnl.Filler("FR", fw51, HB, t, rightBox + fw51 * 0.5f, 0, frontBox + t * 0.5f, 0, 0, 0, C[51]); FR.transform.parent = BASE.transform; } //ANCHORE POINT CREATE.Point(BASE, "PO1", leftBox - OFO, HB / 2, frontBox - OFO); CREATE.Point(BASE, "PO2", leftBox - OFO, HB / 2, backBox); CREATE.Point(BASE, "PO3", rightBox + OFO, HB / 2, backBox); CREATE.Point(BASE, "PO4", rightBox + OFO, HB / 2, frontBox - OFO); CREATE.Point(BASE, "FL", leftBox, HB / 2, frontBox + t * 0.5f); CREATE.Point(BASE, "FR", rightBox, HB / 2, frontBox + t * 0.5f); // 2D Plan Top View CREATE.Point(BASE, "PBLU", leftBox, HB * 0.5f, CenterBox.z + DBD * 0.5f);//P1 CREATE.Point(BASE, "PBRU", rightBox, HB * 0.5f, CenterBox.z + DBD * 0.5f);//P2 CREATE.Point(BASE, "PFLU", leftBox, HB * 0.5f, CenterBox.z - DBD * 0.5f);//P3 CREATE.Point(BASE, "PFRU", rightBox, HB * 0.5f, CenterBox.z - DBD * 0.5f);//P4 CREATE.Point(BASE, "PBLB", leftBox, -HB * 0.5f, CenterBox.z + DBD * 0.5f);//P5 CREATE.Point(BASE, "PBRB", rightBox, -HB * 0.5f, CenterBox.z + DBD * 0.5f);//P6 CREATE.Point(BASE, "PFLB", leftBox, -HB * 0.5f, CenterBox.z - DBD * 0.5f);//P7 CREATE.Point(BASE, "PFRB", rightBox, -HB * 0.5f, CenterBox.z - DBD * 0.5f);//P8 //SPLASH DOBS.SplashARROWN(BASE, C[55], W, HB, -DB, C[54], backBox); //RECOVER Recover.AddRecoverOnCab(BASE, C, leftBox, backBox, rightBox); //RigidBody BASE.AddComponent(); BASE.GetComponent().useGravity = false; BASE.GetComponent().isKinematic = true; BASE.GetComponent().detectCollisions = true; BASE.GetComponent().isTrigger = true; //ADD LIGHT UNDER // GameObject ImageLigth = SelectLight.Add_light_on_Wall_Cabinet(W,HB,0,C[40]); // ImageLigth.transform.SetParent(BASE.transform); SelectLight.AddSpotLight(BASE, HB, C[40]); //SHELF AddShelf.OnOpening(C, BASE, 0, W, 0, DB, t, "WALL", CenterBox); if (!string.IsNullOrEmpty(C[88])) { AddShelf.Interior(BASE, C[88], W - 1, HB - 1, DB - 1, C[62], CenterBox); } string texshelf = C[62]; if (C[87].IndexOf("1") != -1) { texshelf = C[69]; } if (C[25].IndexOf("w") != -1) { //print("_G.Rdiv1[0]==="+_G.Rdiv1[0]); if (_G.Rdiv1.Count != 0) { addWinner.AddingOnWinner(BASE, _G.Rdiv1, DB - t * 2, _G.ROWY1[0], DOIT.ConvertStringToNumber(C[6]), texshelf); } if (_G.Rdiv2.Count != 0) { addWinner.AddingOnWinner(BASE, _G.Rdiv2, DB - t * 2, _G.ROWY1[1], DOIT.ConvertStringToNumber(C[6]), texshelf); } if (_G.Rdiv3.Count != 0) { addWinner.AddingOnWinner(BASE, _G.Rdiv3, DB - t * 2, _G.ROWY1[2], DOIT.ConvertStringToNumber(C[6]), texshelf); } if (_G.Rdiv4.Count != 0) { addWinner.AddingOnWinner(BASE, _G.Rdiv4, DB - t * 2, _G.ROWY1[3], DOIT.ConvertStringToNumber(C[6]), texshelf); } if (_G.Rdiv5.Count != 0) { addWinner.AddingOnWinner(BASE, _G.Rdiv5, DB - t * 2, _G.ROWY1[4], DOIT.ConvertStringToNumber(C[6]), texshelf); } if (_G.Rdiv6.Count != 0) { addWinner.AddingOnWinner(BASE, _G.Rdiv6, DB - t * 2, _G.ROWY1[5], DOIT.ConvertStringToNumber(C[6]), texshelf); } } // string Unique_Name = UIT.Value(Library.Cabinet,C[1],Header.ID); // string Captext = Unique_Name + "\n" + DOIT.CSs(C[6]) + "x" + DOIT.CSs(C[7]); // CAPS.Show(Captext, BASE, DBD, 0, -DBD / 2 - 5); CAPS.ShowTOP(C[0][4..], BASE, 0, HB * 0.5f, frontBox, Color.blue); CAPS.ShowFRONT(C[0][4..], BASE, 0, 0, frontBox, Color.blue); Mesure.Addpoints("WALL", BASE); //Stet in scene BASE.transform.position = new Vector3(px, py, pz); BASE.transform.localRotation = Quaternion.Euler(rx, ry, rz); BASE.AddComponent(typeof(MoveObject)); BASE.GetComponent().material = _G.INV; print("C60====" + C[60]); } }