private static JSONClass ExportGameObject(GameObject go) { var jobj = new JSONClass(); jobj.Add("Descriptor", "GameObject"); jobj.Add("Name", go.name); jobj.Add("InstId", new JSONData(go.GetInstanceID())); var pos = Util.ConvertPos(go.transform.position); jobj.Add("Pos", "<vec>" + pos[0] + "," + pos[1] + "," + pos[2]); jobj.Add("Scale", ExportVec(go.transform.localScale)); var jarr = new JSONArray(); jobj.Add("Component", jarr); var com = go.GetComponents <MonoBehaviour>(); foreach (var monoBehaviour in com) { if (monoBehaviour != null) { jarr.Add(ExportComponent(monoBehaviour)); } } var col = go.GetComponents <Collider>(); foreach (var collider1 in col) { jarr.Add(ExportCollider(collider1)); } var jarr2 = new JSONArray(); jobj.Add("Child", jarr2); foreach (Transform c in go.transform) { if (c.gameObject.activeSelf) { jarr2.Add(ExportGameObject(c.gameObject)); } } return(jobj); }
private static string ExportVec(Vector3 vec) { var i = Util.ConvertPos(vec); return("<vec>" + i[0] + "," + i[1] + "," + i[2]); }