Example #1
0
    private static void RemoveBlock(Vector3 position)
    {
        for (int i = 0; i < LevelParent.childCount; i++)
        {
            float distanceToBlock = Vector3.Distance(LevelParent.GetChild(i).transform.position, position);
            if (distanceToBlock <= 4)
            {
                Undo.DestroyObjectImmediate(LevelParent.GetChild(i).gameObject);

                UnityEditor.SceneManagement.EditorSceneManager.MarkAllScenesDirty();
                return;
            }
        }
    }
Example #2
0
    public static void RemoveObject(Vector3 pos)
    {
        if (LevelParent.childCount <= 0)
        {
            return;
        }

        for (int i = 0; i < LevelParent.childCount; i++)
        {
            Renderer renderer = LevelParent.GetChild(i).GetComponent <Renderer>();

            float distanceToObject = Vector3.Distance(renderer.bounds.min, pos);
            if (distanceToObject < 1.0f)
            {
                Undo.DestroyObjectImmediate(LevelParent.GetChild(i).gameObject);
                UnityEditor.SceneManagement.EditorSceneManager.MarkAllScenesDirty();
                return;
            }
        }
    }