public void Execute(int index, TransformAccess transform) { var pos = transform.position; var lvl = 0; var above = 0; for (var i = 0; i < 10; i++) { pos += Vector3.up; if (!WorldController.CheckCoords(pos)) { ++lvl; } else { ++above; } } if (above >= 3) { lvl = 0; } if (lvl > 3) { lvl = 3; } if (lvl == 0) { have_sun[0] = 0; } else { have_sun[0] = 1; } cell_lvl[0] = lvl; }
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; } }