public static void InitializeDirections()
{
float num = (1f + Mathf.Sqrt(5f)) / 2f;
TreeAO.directions = new Vector3[60];
TreeAO.directions[0] = new Vector3(0f, 1f, 3f * num);
TreeAO.directions[1] = new Vector3(0f, 1f, -3f * num);
TreeAO.directions[2] = new Vector3(0f, -1f, 3f * num);
TreeAO.directions[3] = new Vector3(0f, -1f, -3f * num);
TreeAO.directions[4] = new Vector3(1f, 3f * num, 0f);
TreeAO.directions[5] = new Vector3(1f, -3f * num, 0f);
TreeAO.directions[6] = new Vector3(-1f, 3f * num, 0f);
TreeAO.directions[7] = new Vector3(-1f, -3f * num, 0f);
TreeAO.directions[8] = new Vector3(3f * num, 0f, 1f);
TreeAO.directions[9] = new Vector3(3f * num, 0f, -1f);
TreeAO.directions[10] = new Vector3(-3f * num, 0f, 1f);
TreeAO.directions[11] = new Vector3(-3f * num, 0f, -1f);
int offset = 12;
offset = TreeAO.PermuteCuboid(TreeAO.directions, offset, 2f, 1f + 2f * num, num);
offset = TreeAO.PermuteCuboid(TreeAO.directions, offset, 1f + 2f * num, num, 2f);
offset = TreeAO.PermuteCuboid(TreeAO.directions, offset, num, 2f, 1f + 2f * num);
offset = TreeAO.PermuteCuboid(TreeAO.directions, offset, 1f, 2f + num, 2f * num);
offset = TreeAO.PermuteCuboid(TreeAO.directions, offset, 2f + num, 2f * num, 1f);
offset = TreeAO.PermuteCuboid(TreeAO.directions, offset, 2f * num, 1f, 2f + num);
for (int i = 0; i < TreeAO.directions.Length; i++)
{
TreeAO.directions[i] = TreeAO.directions[i].normalized;
}
}