public override void OnInspectorGUI() { DrawDefaultInspector(); EnvironmentCreation myScript = (EnvironmentCreation)target; if (GUILayout.Button("Rebuild Mesh")) { LocalObjectBuilder localObjBuilder = myScript.GetComponent <LocalObjectBuilder>(); if (localObjBuilder) { List <List <Vector3> > sortedPlanes = localObjBuilder.GetSortedPlanes(); float floor = localObjBuilder.FloorPos;// + FindObjectOfType<LocalPlane>().transform.localScale.y / 2f; List <Vector3> vertices = new List <Vector3>(); vertices = Utility.CombinePolygons(sortedPlanes[0], sortedPlanes[1], 0.2f); for (int i = 2; i < sortedPlanes.Count; i++) { vertices = Utility.CombinePolygons(vertices, sortedPlanes[i], 0.2f); } for (int i = 0; i < vertices.Count; i++) { Vector3 vert = vertices[i]; vert.y = floor; vertices[i] = vert; } myScript.boundary = vertices; } myScript.CreateTerrain(); } }
// Use this for initialization void Start() { entrance = GetComponentInChildren <PracticeEntrance>(); relics = GetComponentsInChildren <SampleRelic>(); if (!isServer) { List <Vector3> list = Utility.CombinePolygons(Utility.CreateVerticesFromPlane(planes[0]), Utility.CreateVerticesFromPlane(planes[1]), 0.005f); for (int i = 2; i < planes.Length; i++) { list = Utility.CombinePolygons(list, Utility.CreateVerticesFromPlane(planes[i]), 0.005f); } for (int i = 0; i < list.Count; i++) { Vector3 vec = list[i]; vec.y = 0f;// transform.position.y; list[i] = vec; } env = GetComponent <EnvironmentCreation>(); env.boundary = list; env.CreateTerrain(); } }
private void RpcBuildTerrain() { if (isServer) { return; } sortedPlanes = LocalObjectBuilder.Instance.GetSortedPlanes(); float floor = LocalObjectBuilder.Instance.FloorPos;// + FindObjectOfType<LocalPlane>().transform.localScale.y / 2f; List <Vector3> vertices = new List <Vector3>(); vertices = Utility.CombinePolygons(sortedPlanes[0], sortedPlanes[1], 0.2f); for (int i = 2; i < sortedPlanes.Count; i++) { vertices = Utility.CombinePolygons(vertices, sortedPlanes[i], 0.2f); } for (int i = 0; i < vertices.Count; i++) { Vector3 vert = vertices[i]; vert.y = floor; vertices[i] = vert; } EnvironmentCreation terrainBuilder = LocalObjectBuilder.Instance.GetComponent <EnvironmentCreation>(); terrainBuilder.boundary = vertices; terrainBuilder.CreateTerrain(); }
private void Start() { terrainBuilder = FindObjectOfType <EnvironmentCreation>(); }