public static void DownloadMeshes_andSaveRooms(RoomCreator manager) { string path = NodeCreator.ReturnPathToJsonFile(manager.PathToAssetBundle, manager.LevelName, ""); Transform[] childs = new Transform[manager.WallContainer.childCount]; for (int i = 0; i < manager.WallContainer.childCount; i++) { childs[i] = manager.WallContainer.GetChild(i); string transforms = $"{{\"pos\":{JsonConvert.SerializeObject(childs[i].transform.position)},\"rot\":{JsonConvert.SerializeObject(childs[i].transform.eulerAngles)},\"scale\":{JsonConvert.SerializeObject(childs[i].transform.lossyScale)}}}"; AssetDatabase.CreateAsset(childs[i].GetComponent <MeshFilter>().mesh, $"{manager.PathToAssetBundle}/{manager.LevelName}/{i}.asset"); AssetDatabase.SaveAssets(); NodeCreator.WriteJsonAtJsonsFolder(transforms, manager.PathToAssetBundle, manager.LevelName, $"{i}.txt"); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); NodeCreator myScript = (NodeCreator)target; if (GUILayout.Button("Create Points")) { string serializelist = JsonConvert.SerializeObject(myScript.WallNodes); NodeCreator.WriteJsonAtJsonsFolder(serializelist, myScript.PathToJsonsFolder, myScript.LevelName, "Nodes.txt"); } if (GUILayout.Button("Download Nodes")) { string path = NodeCreator.ReturnPathToJsonFile(myScript.PathToJsonsFolder, myScript.LevelName, "Nodes.txt"); if (File.Exists(path)) { try { // Open the text file using a stream reader. using (StreamReader sr = new StreamReader(path)) { // Read the stream to a string, and write the string to the console. string line = sr.ReadToEnd(); myScript.WallNodes = JsonConvert.DeserializeObject <List <Vector3> >(line); Debug.Log(line); } } catch (IOException e) { Debug.LogWarning("The file could not be read:"); Debug.LogWarning(e.Message); } } } }