using UnityEngine; public class ConstructPanel : MonoBehaviour { static Color col; static string texname; static int nO; public static void AddPanel(int NO) { nO = NO; string[] C = _G.OBJs[nO]; float w = DOIT.ConvertStringToNumber(C[6]); float h = DOIT.ConvertStringToNumber(C[7]); float d = DOIT.ConvertStringToNumber(C[8]); 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]); //if(C[22]!="floor" && C[22] != "cell") { w = DOIT.ConvertStringToNumber(C[8]); d = DOIT.ConvertStringToNumber(C[6]);} texname = C[61]; //print("C[61]===construct===" + C[61]); //print("_G.SC[0]===================================="+_G.SC[0]); //Base GameObject BASE = GameObject.CreatePrimitive(PrimitiveType.Cube); BASE.transform.localScale = new Vector3(d + 0.5f, h + 0.5f, w + 0.5f); BASE.name = C[0]; //RigidBody BASE.AddComponent(); BASE.GetComponent().useGravity = false; BASE.GetComponent().isKinematic = true; BASE.GetComponent().detectCollisions = true; BASE.GetComponent().isTrigger = true; string[] DoorRecipe=C[61].Split('?'); if(DoorRecipe.Length==9){ C[61]=""; for(int i=1; i< 9; i++){ C[61]+=DoorRecipe[i]; if(i<8)C[61]+="?"; } DoorRecipe=C[61].Split('?'); } // string newRecipe = C[61]; // if(DoorRecipe.Length==8){ newRecipe=C[1]+"?"+C[61]; DoorRecipe=newRecipe.Split('?');} // if(DoorRecipe.Length==2){ newRecipe=C[1]+"?"+C[61]; DoorRecipe=newRecipe.Split('?');} // if(DoorRecipe.Length==1){ newRecipe=C[1]+"?"+C[61]; DoorRecipe=newRecipe.Split('?');} string Col=C[61].Split("?")[0]; Material Mat=UIT_MATERIAL.GetMaterial(Col); float ct=DOIT.ConvertStringToNumber(UIT.Value(Library.Panel,C[1],Header.Cthick)); float eh=DOIT.ConvertStringToNumber(UIT.Value(Library.Panel,C[1],Header.E_H)); float ev=DOIT.ConvertStringToNumber(UIT.Value(Library.Panel,C[1],Header.E_V)); float sw=DOIT.ConvertStringToNumber(UIT.Value(Library.Panel,C[1],Header.Slat)); //print("DoorRecipe====="+C[61]);//DoorRecipe=====6? 0 ? 3 ? 3 ? 5/8 ? 0 ? 0 ? CV //3?0?2?2?0.625?0.125?0?CV if(DoorRecipe.Length==8){ ct=DOIT.ConvertStringToNumber(DoorRecipe[4]); eh=DOIT.ConvertStringToNumber(DoorRecipe[2]); ev=DOIT.ConvertStringToNumber(DoorRecipe[3]); sw=DOIT.ConvertStringToNumber(DoorRecipe[6]); } string Model=UIT.Value(Library.Panel,C[1],Header.Model); if(Model.Length==1)Model="P_0"+Model; _G.PON=""; string ID=C[1]; //print("Model====="+Model); // print("From ConstructPanel===Model="+Model); // print("From ConstructPanel===Model="+Col); // print("From ConstructPanel===w="+w); // print("From ConstructPanel===h="+h); // print("--Add----Cabtertures---DOUNIQUE===="+_G.PNL); 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; 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":case "D_16":case "D_17":DoorShow.FromModel(Model, w,h,d,ct,ev, eh, 0, Col);break; case "D_KIT":DoorShow.FromModelKIT(ID, w,h,d,ct,eh, ev, 0, Col);break; } GameObject Panel=Instantiate(Get.o1("3D Object Show").transform.GetChild(0).gameObject); Panel.transform.position=new(0,0,0); Panel.transform.eulerAngles=new(0,-90,0); Panel.transform.parent = BASE.transform; Panel.transform.localPosition=new(0,0,0); SceneModeManager.SelectedName=C[0]; Createdoor.SetLayer(Panel,0); //CAPS CAPS.ShowTOP(C[0][4..], BASE, 0,h*0.5f,0, Color.blue); CAPS.ShowFRONT(C[0][4..], BASE, 0, 0, -d*0.5f, Color.blue); //ANCHORE POINT CREATE.Point(BASE, "P1", -w / 2, 0, d / 2); CREATE.Point(BASE, "P2", w / 2, 0, d / 2); CREATE.Point(BASE, "P3", w / 2, 0, -d / 2); CREATE.Point(BASE, "P4", -w / 2, 0, -d / 2 - 0); // 2D Plan Top View CREATE.Point(BASE, "PBLU", -d * 0.5f, 0f, w * 0.5f);//P1 CREATE.Point(BASE, "PBRU", d * 0.5f, 0f * 0.5f, w * 0.5f);//P2 CREATE.Point(BASE, "PFLU", -d * 0.5f, 0f * 0.5f, -w * 0.5f);//P3 CREATE.Point(BASE, "PFRU", d * 0.5f, 0f * 0.5f, -w * 0.5f);//P4 CREATE.Point(BASE, "PBLB", -d * 0.5f, 0f * 0.5f, w * 0.5f);//P1 CREATE.Point(BASE, "PBRB", d * 0.5f, 0f * 0.5f, w * 0.5f);//P2 CREATE.Point(BASE, "PFLB", -d * 0.5f, 0f * 0.5f, -w * 0.5f);//P3 CREATE.Point(BASE, "PFRB", d * 0.5f, 0f * 0.5f, -w * 0.5f);//P4 Mesure.Addpoints("BASE",BASE); //print("C[1]========"+C[1]); string UniqueName=UIT.Value(Library.Panel,C[1],Header.Unique_Name); //Relief on Ogeee if(_G.PATH=="kent") { Material MAT=BASE.transform.Find("Panel(Clone)/Center").GetComponent().material; MAT.SetTexture("_Shadow" ,null); if( UniqueName.IndexOf("KE-OGEE")!=-1) { //print("Add Relief ogee"); Texture2D T = Instantiate(Resources.Load("OGEE/O_3")); MAT.SetTexture("_Shadow" ,T); MAT.SetColor("_c2", DOIT.CSc("#000000", 255)); MAT.SetFloat("_contrast",0.8f); } } //Set 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; BASE.transform.SetParent(GameObject.Find("SCENE").transform); //SceneModeManager.SelectedName=C[0]; } }