isAllRigidbodySleepingInTag(string Tag_)
 {
     foreach (GameObject GameObject_ in GameObject.FindGameObjectsWithTag(Tag_))
     {
         foreach (Rigidbody Rigidbody_ in GameObject_.GetComponentsInChildren <Rigidbody>())
         {
             if (!Rigidbody_.IsSleeping())
             {
                 return(false);
             }
         }
     }
     return(true);
 }
Exemple #2
0
    private static void WriteToTextFile()
    {
        string       path   = "Assets/Resources/" + Selection.activeObject.name.ToString() + ".json";
        StreamWriter writer = new StreamWriter(path, true);

        GameObject[] ObjArray = UnityEngine.Object.FindObjectsOfType <GameObject>();
        //GameObject[] ObjArray = GameObject.FindGameObjectsWithTag("level1");
        int    selfIndexIndex = 1;
        string data           = "[";

        print(ObjArray.Length);
        for (int i = 0; i < ObjArray.Length; i++, selfIndexIndex++)
        {
            Transform_ objTransform = new Transform_();
            //objTransform.position = ObjArray[i].transform.localPosition;
            //objTransform.rotation = ObjArray[i].transform.localRotation;
            //objTransform.scale = ObjArray[i].transform.localScale;

            objTransform.position = ObjArray[i].transform.position;
            objTransform.rotation = ObjArray[i].transform.rotation;
            objTransform.scale    = ObjArray[i].transform.lossyScale;

            ObjArray[i].GetComponent <ParentData>().selfIndex   = selfIndexIndex;
            ObjArray[i].GetComponent <ParentData>().parentIndex = 0;
            GameObject_ myObject = new GameObject_();
            if (ObjArray[i].GetComponent <BoxCollider>() != null)
            {
                BoxCollider m_Collider;
                m_Collider = ObjArray[i].GetComponent <BoxCollider>();
                myObject.boxColliderSize = m_Collider.size;
                myObject.colliderCenter  = m_Collider.center;
            }
            myObject.transform = objTransform;
            myObject.name      = ObjArray[i].gameObject.name;
            if (ObjArray[i].GetComponent <MeshFilter>() != null)
            {
                //myObject.meshString = ObjArray[i].GetComponent<MeshFilter>().sharedMesh.name;
                myObject.meshString = AssetDatabase.GetAssetPath(ObjArray[i].GetComponent <MeshFilter>().sharedMesh);
            }
            if (ObjArray[i].GetComponent <Light>() != null)
            {
                myObject.lightType      = 1;
                myObject.lightIntencity = ObjArray[i].GetComponent <Light>().intensity;
                myObject.lightColor     = new Vector4(ObjArray[i].GetComponent <Light>().color.r, ObjArray[i].GetComponent <Light>().color.g, ObjArray[i].GetComponent <Light>().color.b, ObjArray[i].GetComponent <Light>().color.a);
            }

            if (ObjArray[i].transform.parent != null)
            {
                ObjArray[i].GetComponent <ParentData>().parentIndex = ObjArray[i].transform.parent.GetComponent <ParentData>().selfIndex;
            }

            myObject.parentID = ObjArray[i].GetComponent <ParentData>().parentIndex;
            myObject.selfID   = ObjArray[i].GetComponent <ParentData>().selfIndex;
            if (i < ObjArray.Length - 1)
            {
                data += "{\"GameObject\":" + JsonUtility.ToJson(myObject) + "},\n";
            }
            else
            {
                data += "{\"GameObject\":" + JsonUtility.ToJson(myObject) + "}\n";
            }
        }
        data += ']';
        writer.Write(data);
        writer.Close();
    }