BSPNode.splitX C# (CSharp) Method

splitX() private method

private splitX ( GameObject _aSection ) : void
_aSection GameObject
return void
    void splitX(GameObject _aSection)
    {
        float xSplit =  Random.Range(20,_aSection.transform.localScale.x-20);

        if (xSplit > 20){
            GameObject cube0 = GameObject.CreatePrimitive(PrimitiveType.Cube);
            cube0.transform.localScale = new Vector3 (xSplit, _aSection.transform.localScale.y,_aSection.transform.localScale.z);
            cube0.transform.position = new Vector3(
                _aSection.transform.position.x - ((xSplit - _aSection.transform.localScale.x)/2),
                _aSection.transform.position.y,
                _aSection.transform.position.z);
            cube0.renderer.material.color = new Color(Random.Range(0.0f,1.0f),Random.Range(0.0f,1.0f), Random.Range(0.0f,1.0f));
            cube0.tag = "GenSection";
            leftNode = new BSPNode();
            leftNode.setCube(cube0);
            leftNode.setParentNode(this);

            GameObject cube1 = GameObject.CreatePrimitive(PrimitiveType.Cube);
            float split1 = _aSection.transform.localScale.x - xSplit;
            cube1.transform.localScale = new Vector3 (split1, _aSection.transform.localScale.y,_aSection.transform.localScale.z);
            cube1.transform.position = new Vector3(
                _aSection.transform.position.x + ((split1 - _aSection.transform.localScale.x)/2),
                _aSection.transform.position.y,
                _aSection.transform.position.z);
            cube1.renderer.material.color = new Color(Random.Range(0.0f,1.0f),Random.Range(0.0f,1.0f), Random.Range(0.0f,1.0f));
            cube1.tag = "GenSection";
            rightNode = new BSPNode();
            rightNode.setCube(cube1);
            rightNode.setParentNode(this);

            GameObject.DestroyImmediate(_aSection);
        }
    }