private Vector3 GetChildPosition(PillarGroup child, float radius) { return(new Vector3( radius * Mathf.Cos(child.angleFromCentre * Mathf.Deg2Rad), 0f, radius * Mathf.Sin(child.angleFromCentre * Mathf.Deg2Rad) )); }
private void Start() { Debug.Log("Setting Up Puzzle!"); Debug.Log(transform.childCount); for (int childIndex = 0; childIndex < transform.childCount; childIndex++) { //Get the RotatingPillar component from the child, skip it if it doesn't have one. PillarGroup group = transform.GetChild(childIndex).GetComponent <PillarGroup>(); if (group == null) { continue; } group.InitialiseAndPositionGroup(outerPillarsDistanceFromCentre); groupsCorrectPositions.Add(group, group.transform.localPosition); group.transform.localPosition = GetChildPosition(group, groupsDistanceFromCentre); } }