Beispiel #1
0
    public static void Clear()
    {
        var allObjects = FindObjectsOfType <GameObject>();

        foreach (var go in allObjects)
        {
            GameObjectCreator.DestroyGameObject(go);
        }

        /*
         * // ヒエラルキー・ウィンドウに出てこない隠れているオブジェクトも全部消すぜ☆(^~^)
         * // 参考Webサイト
         * //      2014年01月11日「How do I remove a Game Object that is not visible in the hierarchy?」unity
         * //      https://answers.unity.com/questions/613728/how-do-i-remove-a-game-object-that-is-not-visible.html
         *
         * var allObjects = FindObjectsOfType<GameObject>();
         * foreach (var go in allObjects)
         * {
         *  if ((go.hideFlags & HideFlags.HideInHierarchy) != 0)
         *  {
         *      GameObjectCreator.DestroyGameObject(go);
         *  }
         * }
         */
    }
Beispiel #2
0
    static void Clear()
    {
        GameObject cubesObj = GameObject.Find("Cubes");

        if (null != cubesObj)
        {
            // 既存なら消す☆(^~^)
            GameObjectCreator.DestroyGameObject(cubesObj);
            Debug.Log("既存のCubesオブジェクトは消したぜ☆(^~^)");
        }
    }
Beispiel #3
0
    public static void CreatePrefubCube()
    {
        ResourceManager.ReadyDirectory();

        string     prefabCubeName = string.Format("{0}/{1}", ResourceManager.nd_prefabs, ResourceManager.nd_cube_name);
        GameObject prefabCube     = (GameObject)Resources.Load(prefabCubeName);

        if (null != prefabCube)
        {
            Debug.Log(string.Format("キューブのプレファブはもうある☆(^~^) path={0}", prefabCubeName));
            return;
        }
        Debug.Log(string.Format("キューブのプレファブが無いんで、作るぜ☆(^~^) path={0}", prefabCubeName));


        // ********************************************************************************
        // * プレファブ作成                                                               *
        // ********************************************************************************
        // ヒエラルキーには見えない一時ゲームオブジェクトを作る(このオブジェクトはあとで破棄する)
        GameObject expectedTmpObj = EditorUtility.CreateGameObjectWithHideFlags("Expected Cube", HideFlags.HideInHierarchy,
                                                                                typeof(UnityEngine.MeshFilter),
                                                                                typeof(UnityEngine.BoxCollider),
                                                                                typeof(UnityEngine.MeshRenderer)
                                                                                );


        // Unityデフォルトのキューブを作成
        GameObject defaultCube = GameObject.CreatePrimitive(UnityEngine.PrimitiveType.Cube);


        // Cube (メッシュ・フィルター)
        {
            // デフォルトのキューブから、メッシュをもらう
            expectedTmpObj.GetComponent <UnityEngine.MeshFilter>().mesh = defaultCube.GetComponent <MeshFilter>().sharedMesh;
        }

        // メッシュ・レンダラー
        {
            // デフォルトのキューブのメッシュ・レンダラーから、マテリアルをもらう
            expectedTmpObj.GetComponent <MeshRenderer>().material = defaultCube.GetComponent <MeshRenderer>().sharedMaterial;
        }


        // キューブのプレファブを作成する
        PrefabUtility.CreatePrefab(string.Format("{0}/{1}/{2}/{3}", ResourceManager.nd_assets, ResourceManager.nd_resources, ResourceManager.nd_prefabs, ResourceManager.nd_cube_file), expectedTmpObj);

        // Unityデフォルトのキューブを削除
        GameObjectCreator.DestroyGameObject(defaultCube);

        // プレファブの元は破棄する
        GameObjectCreator.DestroyGameObject(expectedTmpObj);
    }