protected void InstantiateBodies(CelestialBody body, Transform container) { GameObject go = Instantiate(BodyPrefab, body.Position, Quaternion.identity, container); BodyView view = go.GetComponent <BodyView>(); go.name = body.Name; view.Body = body; view.NameText.text = body.Name; foreach (CelestialBody child in body.Orbiters) { InstantiateBodies(child, go.transform); } }
protected void UpdateBodies(Transform t) { BodyView view = t.GetComponent <BodyView>(); if (view == null) { return; } t.localPosition = view.Body.Position; for (int i = 0; i < t.childCount; i++) { UpdateBodies(t.GetChild(i)); } }