using UnityEngine; using System.Globalization; public class CreateMirror : MonoBehaviour { public static void AddMirror() { //Dimension float w = DOIT.ConvertStringToNumber(_G.SC[1]); float h = DOIT.ConvertStringToNumber(_G.SC[2]); float d = 0.5f; print("e=====" + _G.SC[8]); if ( string.IsNullOrEmpty(_G.SC[8])) {_G.SC[8] = "1";} float e = DOIT.ConvertStringToNumber(_G.SC[8]); float os = d / 2; //Position float px = DOIT.GetScenePos("px", os); float py = -_G.HEIGHT / 2 + DOIT.ConvertStringToNumber(_G.ff) + h / 2; float pz = DOIT.GetScenePos("pz", os); float rx = DOIT.GetScenePos("rx", os); float ry = DOIT.GetScenePos("ry", os); float rz = DOIT.GetScenePos("rz", os); if (PAINT.SEL == "ceil") py = _G.HEIGHT / 2 - h / 2; if (SceneModeManager.CompareSceneMode(SceneModes.SnapOn)) { px = 0; pz = 0; rx = 0; ry = 0; rz = 0; } //"SnapOn" float Ar = (360 - ry) * Mathf.PI / 180; float Xd = Mathf.Abs(w * Mathf.Cos(Ar)) + Mathf.Abs(d * Mathf.Sin(Ar)); float Zd = Mathf.Abs(w * Mathf.Sin(Ar)) + Mathf.Abs(d * Mathf.Cos(Ar)); string name = "mirr" + _G.OBJnum.ToString(); SceneModeManager.SelectedName = name; _G.OBJs[_G.OBJnum] = new string[100]; string[] C = _G.OBJs[_G.OBJnum]; C[0] = name; C[1] = _G.SC[0];//Model C[2] = "Mirrors";//Category C[3] = "UNLOCK"; //lock or unlock C[6] = w.ToString(); C[7] = h.ToString(); C[8] = d.ToString(); C[11] = e.ToString(); //edge C[14] = px.ToString() + "," + py.ToString() + "," + pz.ToString(); C[15] = px.ToString(); //pos X C[16] = py.ToString(); //pos Y C[17] = pz.ToString(); //pos Z C[18] = rx.ToString(); //rot X C[19] = ry.ToString(); //rot Y C[20] = rz.ToString(); //rot Z C[21] = _G.ff; //dis from floor C[22] = PAINT.SEL; //dis from floor //Texture C[60] = _G.SC[4]; C[61] = _G.SC[4]; C[89] = C[0];//Groupe string ConstructMirror.AddMirror(_G.OBJnum); _G.OBJnum += 1; } }