private void RootFormer() { var root = Instantiate(_cellPrefab, transform); root.name = "Cell" + WorldController.GetIndexer(); WorldController.IncreaseIndexer(); _treeCells.Add(root); var new_coord = transform.position; WorldController.AddCoords(new_coord); root.transform.position = new_coord; var cell_controller = root.GetComponent <CellController>(); cell_controller.SetSeed(); cell_controller.SetEnergy(START_SEED_ENERGY); cell_controller.SetGen(_treeGenes[0]); cell_controller.SetGenes(_treeGenes); }
private void GrowOneCell(Vector3 grow_direction, int one_gene) { var obj_transform = transform; var new_coord = obj_transform.position + grow_direction; if (!WorldController.CheckCoords(new_coord) && Math.Abs(new_coord.x) <= MAX_X && Math.Abs(new_coord.z) <= MAX_Z && new_coord.y >= 0) { var new_seed = Instantiate(_cellPrefab, obj_transform.parent); new_seed.name = "Cell" + WorldController.GetIndexer(); WorldController.IncreaseIndexer(); _treeController.AddNewCell(new_seed); WorldController.AddCoords(new_coord); new_seed.transform.position = new_coord; var cellController = new_seed.GetComponent <CellController>(); cellController.SetSeed(); cellController.SetGen(_treeController.GetGenes()[one_gene]); cellController.SetGenes(_treeController.GetGenes()); _isSeed = false; gameObject.GetComponent <Renderer>().material = _woodMaterial; } }