void splitZ(GameObject _aSection)
{
float zSplit = Random.Range(20, _aSection.transform.localScale.z - 20);
float zSplit1 = _aSection.transform.localScale.z - zSplit;
if (zSplit > 20)
{
GameObject cube0 = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube0.transform.localScale = new Vector3(_aSection.transform.localScale.x, _aSection.transform.localScale.y, zSplit);
cube0.transform.position = new Vector3(
_aSection.transform.position.x,
_aSection.transform.position.y,
_aSection.transform.position.z - ((zSplit - _aSection.transform.localScale.z) / 2));
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);
cube1.transform.localScale = new Vector3(_aSection.transform.localScale.x, _aSection.transform.localScale.y, zSplit1);
cube1.transform.position = new Vector3(
_aSection.transform.position.x,
_aSection.transform.position.y,
_aSection.transform.position.z + ((zSplit1 - _aSection.transform.localScale.z) / 2));
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);
}
}