using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.AI; /// /// Проектирование помещения /// public class LocationController : MonoBehaviour { public uint id; public List rooms; public GameObject Ground; public GameObject Walls; public GameObject Zones; public GameObject Beacons; Location location; //public GameObject Location; // Start is called before the first frame update void Start() { // location_22 //var rooms_0 = rooms.ElementAt(0); //Cube(rooms_0, new Vector3(6, 8, 1)); //x=6 y=8 h1 //var rooms_1 = rooms.ElementAt(1); //Cube(rooms_1, new Vector3(2, 10, 1), new Vector2(6, 0)); //var rooms_2 = rooms.ElementAt(2); //Cube(rooms_2, new Vector3(5, 4, 1), new Vector2(8, 5)); // location_25 //var rooms_0 = Instantiate(Resources.Load("GameObjects/Cube", typeof(GameObject)) as GameObject); //rooms_0.transform.SetParent(Location.transform); //Cube(rooms_0, new Vector3(3.57f, 6.31f, 1)); //x=6 y=8 h1 //rooms.Add(rooms_0); //var rooms_1 = Instantiate(Resources.Load("GameObjects/Cube", typeof(GameObject)) as GameObject); //rooms_1.transform.SetParent(Location.transform); //Cube(rooms_1, new Vector3(4, 3.7f, 1), new Vector2(3.57f, 0)); //x=6 y=8 h1 //rooms.Add(rooms_1); //var rooms_2 = Instantiate(Resources.Load("GameObjects/Cube", typeof(GameObject)) as GameObject); //rooms_2.transform.SetParent(Location.transform); //Cube(rooms_2, new Vector3(3, 4.46f, 1), new Vector2(3.57f, 1.85f)); //x=6 y=8 h1 //rooms.Add(rooms_2); // location_1 var rooms_0 = Instantiate(Resources.Load("GameObjects/Cube", typeof(GameObject)) as GameObject); rooms_0.transform.SetParent(transform); Cube(rooms_0, new Vector3(22.8f, 5.5f, 1)); //x=6 y=8 h1 rooms.Add(rooms_0); //var rooms_1 = rooms.ElementAt(1); //Cube(rooms_1, new Vector3(2, 10, 1), new Vector2(6, 0)); //var rooms_2 = rooms.ElementAt(2); //Cube(rooms_2, new Vector3(5, 4, 1), new Vector2(8, 5)); //Room("r0", new Vector3(6, 8, 1)); //x=6 y=8 h1 //Room("r1", new Vector3(2, 10, 1), new Vector2(6, 0)); //Room("r2", new Vector3(5, 4, 1), new Vector2(8, 5)); } // Update is called once per frame void Update() { } public static void Cube(GameObject cube, Vector3 cube_size, Vector2 position = new Vector2(), float wall_thickness = 0.01f) { //GameObject cube = GameObject.Find("Cube"); cube_size = new Vector3(cube_size.x, cube_size.y, cube_size.z); Vector3 pos_cube = new Vector3(cube_size.x / 2f, cube_size.z / 2f, cube_size.y / 2f); cube.transform.position = new Vector3(pos_cube.x + position.x, pos_cube.y, pos_cube.z + position.y); // above GameObject plane_a = cube.transform.GetChild(0).gameObject; //plane_above.transform.localScale = cube_size; plane_a.transform.localScale = new Vector3(cube_size.x, wall_thickness, cube_size.y); plane_a.transform.localPosition = new Vector3(0, pos_cube.y, 0);//y x=0 // front GameObject plane_b = cube.transform.GetChild(1).gameObject; plane_b.transform.localScale = new Vector3(cube_size.x, wall_thickness, cube_size.z); plane_b.transform.localPosition = new Vector3(0, 0, -pos_cube.z); // side GameObject plane_c = cube.transform.GetChild(2).gameObject; plane_c.transform.localScale = new Vector3(cube_size.y, wall_thickness, cube_size.z); plane_c.transform.localPosition = new Vector3(-pos_cube.x, 0, 0); // низ GameObject plane_d = cube.transform.GetChild(3).gameObject; plane_d.transform.localScale = new Vector3(cube_size.x, wall_thickness, cube_size.y); plane_d.transform.localPosition = new Vector3(0, -pos_cube.y, 0); // зад GameObject plane_e = cube.transform.GetChild(4).gameObject; plane_e.transform.localScale = new Vector3(cube_size.y, wall_thickness, cube_size.z); plane_e.transform.localPosition = new Vector3(pos_cube.x, 0, 0); // front 2 GameObject plane_f = cube.transform.GetChild(5).gameObject; plane_f.transform.localScale = new Vector3(cube_size.x, wall_thickness, cube_size.z); plane_f.transform.localPosition = new Vector3(0, 0, pos_cube.z); } public static void Room(string room_name, Vector3 cube_size, Vector2 position = new Vector2()) { //GameObject cube = GameObject.Find("Cube"); var room = Instantiate(Resources.Load("GameObjects/RoomTest", typeof(GameObject)) as GameObject); room.name = room_name; cube_size = new Vector3(cube_size.x, cube_size.y, cube_size.z); Vector3 pos_cube = new Vector3(cube_size.x / 2f, cube_size.z / 2f, cube_size.y / 2f); room.transform.position = new Vector3(pos_cube.x + position.x, pos_cube.y, pos_cube.z + position.y); // above var SideA = room.transform.GetChild(0).gameObject; var panel_a = Instantiate(Resources.Load("GameObjects/Panel", typeof(GameObject)) as GameObject); panel_a.name = "Plane_a_" + 0; panel_a.transform.SetParent(SideA.transform); //GameObject plane_a = cube.transform.GetChild(0).gameObject; //plane_above.transform.localScale = cube_size; panel_a.transform.localScale = new Vector3(cube_size.x, 0.01f, cube_size.y); panel_a.transform.localPosition = new Vector3(0, pos_cube.y, 0);//y x=0 panel_a.transform.rotation = SideA.transform.rotation; // front var SideB = room.transform.GetChild(1).gameObject; //GameObject plane_b = cube.transform.GetChild(1).gameObject; //plane_b.transform.localScale = new Vector3(cube_size.x, 0.01f, cube_size.z); for (int i = 0; i < cube_size.x; i++) { var panel = Instantiate(Resources.Load("GameObjects/Panel", typeof(GameObject))) as GameObject; panel.name = "Plane_b_" + i; panel.transform.SetParent(SideB.transform); panel.transform.localPosition = new Vector3(i, 0, -pos_cube.z); panel.transform.rotation = SideB.transform.rotation; } // side var SideC = room.transform.GetChild(2).gameObject; //GameObject plane_c = cube.transform.GetChild(2).gameObject; for (int i = 0; i > -cube_size.x; i--) { var panel = Instantiate(Resources.Load("GameObjects/Panel", typeof(GameObject))) as GameObject; panel.name = "Plane_c_" + i; panel.transform.SetParent(SideC.transform); panel.transform.position = new Vector3(i, 0, 0); panel.transform.rotation = SideC.transform.rotation; } // низ var SideD = room.transform.GetChild(3).gameObject; var panel_d = Instantiate(Resources.Load("GameObjects/Panel", typeof(GameObject))) as GameObject; //GameObject plane_d = cube.transform.GetChild(3).gameObject; panel_d.name = "Plane_d_" + 0; panel_d.transform.SetParent(SideD.transform); panel_d.transform.localScale = new Vector3(cube_size.x, 0.01f, cube_size.y); panel_d.transform.position = new Vector3(0, -pos_cube.y, 0); panel_d.transform.rotation = SideD.transform.rotation; // зад var SideE = room.transform.GetChild(4).gameObject; for (int i = 0; i > -cube_size.x; i--) { var panel = Instantiate(Resources.Load("GameObjects/Panel", typeof(GameObject))) as GameObject; //GameObject plane_e = cube.transform.GetChild(4).gameObject; panel.name = "Plane_e_" + i; panel.transform.SetParent(SideE.transform); panel.transform.position = new Vector3(pos_cube.x, 0, 0); panel.transform.rotation = SideE.transform.rotation; } // front 2 var SideF = room.transform.GetChild(5).gameObject; for (int i = 0; i > -cube_size.x; i--) { var panel = Instantiate(Resources.Load("GameObjects/Panel", typeof(GameObject))) as GameObject; //GameObject plane_f = cube.transform.GetChild(5).gameObject; panel.name = "Plane_f_" + i; panel.transform.SetParent(SideF.transform); panel.transform.position = new Vector3(0, 0, pos_cube.z); panel.transform.rotation = SideF.transform.rotation; } } /// /// Загрузка текстуры /// public void GroundTexture(string url) { StartCoroutine(SendingFormController.LoadImage(url, Ground, Ground.transform.position, Ground.transform.localScale)); } public void GroundResize(float x, float y) { Ground.transform.localScale = new Vector3(x, 1, y); var scale = Ground.transform.localScale; Ground.transform.position = new Vector3(scale.x * 5, 0, scale.z * 5); } /// /// опт /// /// public void LoadObj(Location location) { var z = Zones.GetComponent(); } }